![列表超出页面宽度](https://linux22.com/image/354708/%E5%88%97%E8%A1%A8%E8%B6%85%E5%87%BA%E9%A1%B5%E9%9D%A2%E5%AE%BD%E5%BA%A6.png)
我尝试在 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}
其结果为:
其中图形列表工作得很好。
我深入研究了模板并找到了用于图表列表的这些命令(我无法通过 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}