Я работаю над предложением со строгим ограничением на количество символов. Я ожидаю, что финансирующее агентство вычислит количество символов в моем документе, просто извлекая текст из моего 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}{------}
).
Но я думаю, что ваше решение выглядит хорошо, и вы всегда можете настроить его в зависимости от размера шрифта документа по умолчанию.