我的页码排列不正确starting with page VIII
。它似乎以某种方式集中在X
,但第二章也没有正确对齐,而第一章(带有阿拉伯数字)则正确对齐。
您知道如何解决这个问题吗?
移动终端
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\pagenumbering{arabic}
\chapter{Chapter}
\section{Lorem}
\lipsum[1]\newpage
\section{ipsum}
\lipsum[1]\newpage
\pagenumbering{Roman}
\section{dolor}
\lipsum[1]\newpage
\section{sit}
\lipsum[1]\newpage
\section{amet}
\lipsum[1]\newpage
\section{consectetuer}
\lipsum[1]\newpage
\section{adipiscing}
\lipsum[1]\newpage
\section{elit}
\lipsum[1]\newpage
\section{Ut}
\lipsum[1]\newpage
\chapter{Chapter}
\section{purus}
\lipsum[1]\newpage
\section{elit}
\lipsum[1]\newpage
\section{vestibulum}
\lipsum[1]\newpage
\section{ut}
\lipsum[1]\newpage
\section{placerat}
\lipsum[1]\newpage
\end{document}
答案1
通常的解决方案是使用tocloft
包来\cftsecnumwidth{<length>}
设置页码的空间。您必须指定<length>
适合您的文档的参数。以下2em
适用于您的 MWE。
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\usepackage{tocloft}
\cftsetpnumwidth{2em} % space for page numbers, default is 1.55em
\begin{document}
% all the rest of your MWE
答案2
\@dottedtocline
只需对(文件)进行少量修改即可解决latex.ltx
。我在 MWE 中添加了更多页面,以便查看更多罗马字母。
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\makeatletter
\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\nobreak
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill
\nobreak
%\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5%
{\hfil\normalfont \normalcolor #5%
\kern-\p@\kern\p@}%
\par}%
\fi}
\makeatother
\begin{document}
\tableofcontents
\pagenumbering{arabic}
\chapter{Chapter 1}
\section{Lorem}
\lipsum[1-18]\newpage
\section{ipsum}
\lipsum[1]\newpage
\pagenumbering{Roman}
\section{dolor}
\lipsum[1-16]\newpage
\section{sit}
\lipsum[1-16]\newpage
\section{amet}
\lipsum[1]\newpage
\section{consectetuer}
\lipsum[1-8]\newpage
\section{adipiscing}
\lipsum[1]\newpage
\section{elit}
\lipsum[1-15]\newpage
\section{Ut}
\lipsum[1]\newpage
\chapter{Chapter 2}
\section{purus}
\lipsum[1-14]\newpage
\section{elit}
\lipsum[1]\newpage
\section{vestibulum}
\lipsum[1-16]\newpage
\section{ut}
\lipsum[1-16]\newpage
\section{placerat}
\lipsum[1]\newpage
\end{document}
以前是
改变取代
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5%
\kern-\p@\kern\p@}%
\par}%
\fi}
经过
\nobreak
{\hfil\normalfont \normalcolor #5%
\kern-\p@\kern\p@}%
\par}%
\fi}
固定盒子不起作用。对齐还适用于
\hb@xt@35\p@{\hfil\normalfont \normalcolor #5%
但显然,固定宽度的点看起来不太好看,这是
相对
我的 TeX 还不够好,无法继续前进。