对齐点,同时保留点与页码之间的间距

对齐点,同时保留点与页码之间的间距

我有点挑剔,我希望点(顺便说一下,粗略地添加)保持对齐,同时保留它们与页码之间的空间。我认为屏幕截图会非常清晰。

编辑:点需要对齐,我的意思是每条线的最后一个点必须与下一个点对齐,依此类推。

在此处输入图片描述

要解决这个问题,您可以根据需要删除或不删除粗体字体。我尝试更改点分隔宽度,但不起作用。

这里,代码:

\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

尝试一下这个代码。

b

它被制作成命令的一个补丁\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}

相关内容