列表超出页面宽度

列表超出页面宽度

我尝试在 sharelatex 上创建工作示例但无法重现该问题。感谢 Torbjørn T。

平均能量损失

\documentclass{article} 
\usepackage{listings,showframe} 
\begin{document} 
\lstlistoflistings 
\setcounter{page}{99999} 
\begin{lstlisting}[caption=bla] foo bar 
\end{lstlisting} \end{document}

其结果为:

MWE编译


其中图形列表工作得很好。

我深入研究了模板并找到了用于图表列表的这些命令(我无法通过 Google 找到):

\newlength{\mylenf}
\settowidth{\mylenf}{\cftfigpresnum}
\setlength{\cftfignumwidth}{\dimexpr\mylenf+3em}
\setlength{\cfttabnumwidth}{\dimexpr\mylenf+3em}

有什么提示吗?

答案1

正如您已经(我假设)使用的那样tocloft,您可以添加

\cftsetpnumwidth{2.5em}

加载该包后。这将设置列表中页码框的宽度<stuff>。但使用这个确实意味着点在较窄的页码之前停止:

在此处输入图片描述

还要注意,如果您不加载tocloft(并注释掉\cftsetpnumwidth)下面的示例中的,则图表列表将显示相同的行为,即宽页码延伸到页边距。tocloft似乎可以修复图表列表的问题,但不能修复清单列表的问题。

\documentclass{article}
\usepackage{listings}
\usepackage{showframe} % to showtext area
\usepackage{tocloft}
\cftsetpnumwidth{2.5em} % set width of box for page numbers
\begin{document}
\listoffigures
\lstlistoflistings
\clearpage
\begin{lstlisting}[caption=bla]
foo bar
\end{lstlisting}
\begin{figure}
\caption{A}
\end{figure}
\newpage
\setcounter{page}{99999}
\begin{lstlisting}[caption=bla]
foo bar
\end{lstlisting}
\begin{figure}
\caption{A}
\end{figure}
\end{document}

相关内容