ToC の点線を再作成するにはどうすればよいでしょうか?

ToC の点線を再作成するにはどうすればよいでしょうか?

目次にあるような点線を描くコマンドはありますか? 使用しました\dotfillが、これにより点間の間隔が異なる行が作成されます。

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

上の点線は、

\begin{itemize}
    \item[3.1] Verfügbarkeit\enspace\dotfill\enspace 7
    \item[3.1] Verfügbarkeiit\enspace\dotfill\enspace 7
\end{itemize}

ここでは、「Verfügbarkeiit」の点が「Verfügbarkeit」の点のすぐ下ではないことがわかります。

以下はToCの行です。

どうすれば同じ線を描くことができますか?特に、すべての点が互いに下にある(一列になっている)という事実

ありがとう!

答え1

\contentsline簡単な答えは、他の「リスト」の外観をコピーしたいので、単に を使用することです。バツ「es:」

\contentsline{figure}{\numberline{3.2.1}Verfügbarkeit}{x}

section最初のパラメータは、または のように、表示したいエントリ タイプになりますchapter

しかし、... のカスタム リストの作成を自動化します。長期的には保守性が向上する可能性があります。

マクロの定義を詳しく調べて、内部で起こっている魔法を見つけることもできます。

\show\contentsline
% results in #1->\csname l@#1\endcsname

最初のパラメータはマクロ名を完成させるために使用されていることがわかります。これがどのように展開されるかを見てみましょう。

\makeatletter
\show\l@figure
% results in ->\@dottedtocline {1}{1.5em}{2.3em}

近くなってる...

\show\@dottedtocline
% results in #1#2#3#4#5->\ifnum #1>\c@tocdepth \else \vskip \z@ \@plus .2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax \@afterindenttrue \interlinepenalty \@M \leavevmode \@tempdima #3\relax \advance \leftskip \@tempdima \null \nobreak \hskip -\leftskip {#4}\nobreak \leaders \hbox {$\m@th \mkern \@dotsep mu\hbox {.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@ \@pnumwidth {\hfil \normalfont \normalcolor #5}\par }\fi

さて、これは厄介になってきました。しかし、\leaders原因がわかれば、このコマンドの興味深い部分を分離することができます。

\leaders\hbox{$\m@th\mkern\@dotsepmu\hbox{.}\mkern\@dotsepmu$}\hfill

したがって、行だけが必要で、それを tableofcontents の行とまったく同じように表示したい場合は、これをマクロにラップすることができます。

答え2

ToC と同じ値を使用する新しいコマンドを設定できます。

出力

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

コード

\documentclass{article}
\usepackage{tocloft}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\newcommand\mydotfill{\cftdotfill{\cftdotsep}}

\begin{document}
\tableofcontents

\vspace{1cm}

\begin{itemize}
    \item[3.1] label\enspace\mydotfill\enspace 7
    \item[3.1] long label\enspace\mydotfill\enspace 7
    \item[3.1] very long label\enspace\mydotfill\enspace 7
\end{itemize}
\vspace{3cm}
\section{Verfügbarkeit}
\end{document}

関連情報