我有点挑剔,我希望点(顺便说一下,粗略地添加)保持对齐,同时保留它们与页码之间的空间。我认为屏幕截图会非常清晰。
编辑:点需要对齐,我的意思是每条线的最后一个点必须与下一个点对齐,依此类推。
要解决这个问题,您可以根据需要删除或不删除粗体字体。我尝试更改点分隔宽度,但不起作用。
这里,代码:
\documentclass[11pt, a4paper]{article}
\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin = 2.5 cm]{geometry}
\usepackage{parskip}
\usepackage{tocloft}
% Titres des sections
\counterwithin*{section}{part}
\renewcommand\thepart{\arabic{part}.}
\renewcommand\thesection{\arabic{part}.\arabic{section}.}
\renewcommand\thesubsection{\arabic{part}.\arabic{section}.\arabic{subsection}.}
\renewcommand\thesubsubsection{\arabic{part}.\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.}
% Table des matières
\setcounter{tocdepth}{2} % Nombre max de niveau dans la table des matières
\setlength{\cftbeforepartskip}{1 em} % Espacement entre les titres des parties
\renewcommand{\cftpartdotsep}{\cftdotsep} % Points entre le titre des sections et le numéro de page
\setlength{\cftbeforesecskip}{0.50 em} % Espacement avant les titres des sections
\setlength{\cftsecindent}{2.25 em} % Espacement entre la marge le numéro des sections
\setlength{\cftsecnumwidth}{2.25 em} % Espacement entre le titre des sections et le numéro
\renewcommand{\cftsecdotsep}{\cftdotsep} % Points entre le titre des sections et le numéro de page
\setlength{\cftbeforesubsecskip}{0.25 em} % Espacement avant les titres des sous-sections
\setlength{\cftsubsecindent}{4.5 em} % Espacement entre la marge le numéro des sous sections
\setlength{\cftsubsecnumwidth}{2.875 em} % Espacement entre le titre de la section et le numéro des sous sections
\begin{document}
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\tableofcontents
\end{document}
答案1
尝试一下这个代码。
它被制作成命令的一个补丁\cftdotfill
,以使点正确对齐。还添加了更多内容以检查页码较大的行为。
\documentclass[11pt, a4paper]{article}
\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin = 2.5 cm,showframe]{geometry}
\usepackage{parskip}
\usepackage{tocloft}
% Titres des sections
\counterwithin*{section}{part}
\renewcommand\thepart{\arabic{part}.}
\renewcommand\thesection{\arabic{part}.\arabic{section}.}
\renewcommand\thesubsection{\arabic{part}.\arabic{section}.\arabic{subsection}.}
\renewcommand\thesubsubsection{\arabic{part}.\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.}
% Table des matières
\setcounter{tocdepth}{2} % Nombre max de niveau dans la table des matières
\setlength{\cftbeforepartskip}{1 em} % Espacement entre les titres des parties
\renewcommand{\cftpartdotsep}{\cftdotsep} % Points entre le titre des sections et le numéro de page
\setlength{\cftbeforesecskip}{0.50 em} % Espacement avant les titres des sections
\setlength{\cftsecindent}{2.25 em} % Espacement entre la marge le numéro des sections
\setlength{\cftsecnumwidth}{2.25 em} % Espacement entre le titre des sections et le numéro
\renewcommand{\cftsecdotsep}{\cftdotsep} % Points entre le titre des sections et le numéro de page
\setlength{\cftbeforesubsecskip}{0.25 em} % Espacement avant les titres des sous-sections
\setlength{\cftsubsecindent}{4.5 em} % Espacement entre la marge le numéro des sous sections
\setlength{\cftsubsecnumwidth}{2.875 em} % Espacement entre le titre de la section et le numéro des sous sections
% ******************************************** added <<<<<<<<<<<<<<<<<<<<
\makeatletter
\renewcommand{\cftdotfill}[1]{%
\def\@tempa{#1}%
\def\@tempb{\cftnodots}%
\ifx\@tempa\@tempb
\hfill
\else
% \leaders\hbox{$\m@th\mkern #1 mu\hbox{\cftdot}\mkern #1 mu$}\hfill% old line
\leaders\hbox to 4mm{\hss\cftdot\hss}\hskip 4mm plus1fill% new line <<<<<<<<<<<
\fi
}
\makeatother
% ********************************************
\begin{document}
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\newpage
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\setcounter{page}{9}
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\newpage
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\newpage
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\setcounter{page}{99}
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\newpage
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\part{Dolor pariatur laboris}
\section{Fugiat proident amet officia nisi.}
\subsection{Ullamco aliqua reprehenderit culpa excepteur velit sunt id.}
\subsubsection{Adipisicing dolore nisi ullamco sint est incididunt tempor sunt.}
\newpage
\section{Sint aliquip ea sit amet consequat fugiat.}
\subsection{Aliqua do veniam ut duis elit occaecat.}
\subsubsection{Reprehenderit incididunt duis adipisicing nisi.}
\subsubsection{Fugiat adipisicing commodo occaecat ut dolor elit dolor mollit labore duis labore in ipsum enim.}
\newpage
\tableofcontents
\end{document}