Заменить точечные линейки в оглавлении на (точечную) линию

Заменить точечные линейки в оглавлении на (точечную) линию

Я работаю над предложением со строгим ограничением на количество символов. Я ожидаю, что финансирующее агентство вычислит количество символов в моем документе, просто извлекая текст из моего PDF. Проблема в том, что точки-лидеры в моей таблице содержания съедают большую часть моего количества символов.

Я не хочу слишком радикально менять макет своего оглавления, поскольку то, что LaTeX предоставляет по умолчанию, и так отлично смотрится в моем стиле документа. (Например, я думаю, что стиль, который предпочитает Роберт Брингхерст, или те, что представлены вответы на этот вопросне очень хорошо подошло бы.) Возможно ли просто заменить символьные точечные линейки в оглавлении графической пунктирной или штриховой линией, чтобы точки/тире были выровнены от строки к строке? Возможно, в моем случае даже сработало бы твердое правило, если нет простого решения.

решение1

Предполагая, что вы используете стандартный класс документа (или любой другой, использующий стандартное определение для \@dottedtoclineсоздания оглавления), следующий код заменяет точки маленькими квадратиками.

\documentclass[]{article}

\usepackage{etoolbox}

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

\usepackage{duckuments}

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

Оригинальный вид с точками:

введите описание изображения здесь

Новые образы с маленькими квадратами:

введите описание изображения здесь

решение2

Вот одно из решений, которое я только что придумал:

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

Я не уверен, насколько это оптимально (и, конечно же, размер точек жестко запрограммирован, а не масштабируется в соответствии с размером текста), поэтому я был бы рад услышать о любых других или лучших решениях.

решение3

Одним из вариантов является использование тире вместо точек в качестве точек.

% 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}

Или вы можете попробовать 2 длинных тире ( \renewcommand{\cftdot}{------}).

Но я думаю, что ваше решение выглядит хорошо, и вы всегда можете настроить его в зависимости от размера шрифта документа по умолчанию.

Связанный контент