使用文档类时,目录的某个部分出现了问题classicthesis
。在此部分中,我使用了罗马数字(I、II、III 等)。现在,一些点位于数字(XXVIII)下方,如下图所示。我该如何修复它?
这是我的 mwe(请不要问我为什么使用 xelatex 和...inputenc:这是我的 Mac 运行的方式。其他方式全部失败。)
\documentclass[12pt,a4paper,footinclude=true,twoside,headinclude=true]{scrbook}
\XeTeXinputencoding iso-8859-1
\usepackage{setspace}
\usepackage{epigraph}
\usepackage{scrpage2}
\usepackage{graphicx} %% For \scalebox
\usepackage{lipsum}
\usepackage[parts,pdfspacing,dottedtoc]{classicthesis}
\usepackage{fontspec}
\usepackage[applemac]{inputenc}
\usepackage[frenchb]{babel}
\setmainfont{Minion Pro}
\usepackage[numberedbib,nosectionbib]{apacite}
\usepackage{chngcntr}
...
\usepackage{lineno}
\setcounter{tocdepth}{2}
\setcounter{secnumdepth}{3}
\AtBeginDocument{\renewcommand{\thepart}{\Roman{part}}}
\usepackage{hyperref}
\frontmatter
\begin{document}
\pagestyle{scrheadings}
...
\newpage
\pagenumbering{Roman}
\appendix
\renewcommand{\thesection}{\Alph{section}}
\setcounter{section}{}
\part*{Annexes}
\chapter{Entretiens}
\section{Premier entretien}
\begin{linenumbers}
...
\end{linenumbers}
\end{document}
答案1
由于 OP 示例无法编译,这个答案可能会或可能不会解决问题!
这是一个最简单的例子,我认为它说明了问题。
\documentclass{article}
\usepackage{lipsum}
\usepackage[nochapters,dottedtoc]{classicthesis}
\begin{document}
\tableofcontents
\pagenumbering{Roman}
\section{Section}
\lipsum[1]
\subsection{Subsection A}
\lipsum[2]
\newpage
\setcounter{page}{88}
\subsection{Subsection B}
\lipsum[3]
\end{document}
目录中的虚线“引线”与长页码重叠。
可以通过强制增加页码空间来解决此问题,如下所示。添加以下内容:
\makeatletter
\setlength{\@pnumwidth}{16mm}
\makeatother
就在该\begin{document}
行之前,产生:
现在数字不会覆盖引线,但效果不太好。显然,您可以尝试使用略小于 16mm 的宽度,如果目录中的大多数页码都很窄,那么效果可能会更好,但可能不是。
此时,我很想完全避免使用罗马页码classicthesis
,但作为最后的努力,您可以更改实际生成虚线的宏。这样做的问题是,在如此复杂的包中可能会产生意想不到的副作用。尽管如此,改变并不难,它会产生以下内容,这可能更符合它的需求。
以下是建议重新定义的完整示例cftsubsecfillnum
。
\documentclass{article}
\usepackage{lipsum}
\usepackage[nochapters,dottedtoc]{classicthesis}
\renewcommand\cftsubsecfillnum[1]{{\cftsubsecleader\ }\nobreak
\hbox{\cftsubsecpagefont #1}\cftsubsecafterpnum \par }
\begin{document}
\tableofcontents
\pagenumbering{Roman}
\section{Section}
\lipsum[1]
\subsection{Subsection A}
\lipsum[2]
\newpage
\setcounter{page}{88}
\subsection{Subsection B}
\lipsum[3]
\end{document}