lstlisting 弄乱了目录中的页码

lstlisting 弄乱了目录中的页码

当我使用包时,我无法正确获取目录中各节的页码lstlisting。我正在使用 documentclass article。我需要使用这个类,而不是report

有什么想法可以修复此问题吗?

答案1

根据评论,我怀疑您运行 latex 的次数不够。第一次编译下面的示例会产生:

在此处输入图片描述

但在后续运行时(假设您没有删除第一次运行时生成的临时文件),您会得到:

在此处输入图片描述

\documentclass{article}
\usepackage{listings}
\usepackage{lipsum}% for dummy text


\usepackage{filecontents}

\begin{filecontents*}{foo.java}
 public int nextInt(int n) {
     if (n<=0)
        throw new IllegalArgumentException("n must be positive");

     if ((n & -n) == n)  // i.e., n is a power of 2
         return (int)((n * (long)next(31)) >> 31);

     int bits, val;
     do {
         bits = next(31);
         val = bits % n;
     } while(bits - val + (n-1) < 0);
     return val;
 }
\end{filecontents*}


\begin{document}
\tableofcontents\newpage
\section{First Section}
\lipsum[1-7]

\lstinputlisting{foo.java}

\section{Second Section}
\lipsum[8-12]
\end{document}

相关内容