目次のドットリーダーを(ドット)罫線に置き換える

目次のドットリーダーを(ドット)罫線に置き換える

私は文字数制限が厳しい提案書を作成中です。資金提供機関は、PDF からテキストを抽出するだけで文書の文字数を計算すると思います。問題は、目次のドット リーダーが文字数のかなりの部分を消費していることです。

LaTeXがデフォルトで提供しているレイアウトは既に私の文書スタイルにとてもよく合っているため、目次のレイアウトをあまり劇的に変更したくありません。(例えば、Robert Bringhurstが好むスタイルや、この質問に対する答えうまく収まりません。) 目次の文字ベースのドット リーダーを、点線または破線でグラフィカルに置き換えて、点/破線が行ごとに揃うようにすることは可能でしょうか。簡単な解決策がない場合は、私のケースでは、固定のルールでも機能するかもしれません。

答え1

\@dottedtocline標準のドキュメント クラス (またはTOC を作成するためにの標準定義を使用するその他のクラス) を使用していると仮定すると、次のコードはピリオドを小さな四角形に置き換えます。

\documentclass[]{article}

\usepackage{etoolbox}

\makeatletter
\patchcmd\@dottedtocline{\hbox{.}}{\rule{.23ex}{.23ex}}{}{}
\makeatother

\usepackage{duckuments}

\begin{document}
\duckument[toc]
\end{document}

期間内のオリジナルの外観:

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

小さな四角形を使った新しい外観:

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

答え2

私が思いついた解決策は1つです:

\usepackage{tocloft}
\usepackage{tikz}
\renewcommand{\cftdot}{\begin{tikzpicture}\node [circle,fill,inner sep=0.54pt]{};\end{tikzpicture}}

これがどれほど最適かはわかりません (もちろん、ドットのサイズはテキスト サイズに合わせて調整されるのではなく、ハードコードされています)。そのため、別の解決策やより良い解決策があれば、ぜひ教えてください。

答え3

1 つの可能性としては、ドットとしてピリオドの代わりに em ダッシュを使用することです。

% dottedprob.tex  SE 562961
\documentclass{article}
\usepackage{tikz}
\usepackage{tocloft}
\renewcommand{\cftdot}{---}
% following is from the OP
%\renewcommand{\cftdot}{\begin{tikzpicture}\node [circle,fill,inner sep=0.54pt]{};\end{tikzpicture}}

\begin{document}
\tableofcontents
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}

\end{document}

または、2em ダッシュ ( \renewcommand{\cftdot}{------}) を試すこともできます。

しかし、あなたの解決策は良さそうに思えますし、ドキュメントのデフォルトのフォント サイズに応じていつでも微調整できると思います。

関連情報