2本の水平点線の間にテキストを垂直に中央揃えする方法

2本の水平点線の間にテキストを垂直に中央揃えする方法

MWE は、ほとんど説明不要です。指定された出力を生成するコマンドを作成したいと思います。コマンドは、テキストの上/下のスペースの量を指定する必須の引数を取る必要があります。テキストは小文字のスモールキャップです。

MWEの出力

\documentclass[11pt]{article}
\usepackage{graphicx}

\newcommand\oblongdot{\protect\resizebox{0.75pt}{3pt}{$\cdot$}}

\makeatletter
\newcommand\cdotfill{%
    \leavevmode\cleaders\hb@[email protected]{\hss\oblongdot\hss}\hfill\kern\z@
}
\makeatother

\newcommand\cdotrule{\makebox[4in]\cdotfill}

\begin{document}

    \begin{center}
        \cdotrule \\
        \textsc{\LARGE vertically centered text} \\ 
        \cdotrule
    \end{center}

\end{document} 

に触発された

ハンドブック

答え1

ドットは垂直方向に中央揃えされていません。\vcenterボックスを使用してマテリアルを整列させることができます。マクロを次のように変更できます\oblongdot

\newcommand\oblongdot{\protect$\vcenter{\resizebox{0.75pt}{3pt}{$\cdot$}}$}

ここに画像の説明を入力してください

\documentclass[11pt]{article}
\usepackage{graphicx}

\newcommand\oblongdot{\protect$\vcenter{\resizebox{0.75pt}{3pt}{$\cdot$}}$}

\makeatletter
\newcommand\cdotfill{%
    \leavevmode\cleaders\hb@[email protected]{\hss\oblongdot\hss}\hfill\kern\z@
}
\makeatother

\newcommand\cdotrule{\makebox[4in]\cdotfill}

\begin{document}

    \begin{center}
        \cdotrule \\
        \textsc{\LARGE vertically centered text} \\ 
        \cdotrule
    \end{center}

\end{document} 

答え2

ここで定義されているように、hrule ではマクロを動作させることができませんでした。

https://tex.stackexchange.com/a/389279/197451

ここに画像の説明を入力してください

\documentclass[11pt]{article}
\usepackage{cellspace, tabularx, booktabs}
\usepackage[x11names]{xcolor}
\usepackage{garamondx}
\addparagraphcolumntypes{X}

\begin{document}

\begin{titlepage}
  \setlength{\cellspacetoplimit}{11pt}
  \setlength{\cellspacebottomlimit}{12pt}
  \begin{center}
    \huge \textit{Edward Lear}\vspace{10ex}
    \Huge\bfseries
    \begin{tabularx}{\linewidth}{S{>{\centering\arraybackslash}X}}
      \toprule
      \color{IndianRed3} The Pobble Who Has No Toes \\
      \bottomrule
    \end{tabularx}
  \end{center}
\end{titlepage}

\end{document} 

関連情報