将列表拆分为多个部分

将列表拆分为多个部分

我有一个很大的列表,我将其分成几个lstlisting环境,如下所示:

Some paragraphs describing part 1

\begin{lstlisting}[language=javascript,name={Caption},label={list:Label}]
Code Part 1
\end{lstlisting}

Some paragraphs describing part 2

\begin{lstlisting}[language=javascript,name={Caption},label={list:Label}]
Code Part 2
\end{lstlisting}

...

代码总共需要大约 2 页,我将每个有趣的组件放在单独的列表中,以便可以在其中添加描述。这有几个后果:

  1. 由于我在描述中引用了特定的行,因此行号应该从它们停止的地方继续
  2. 由于所有列表环境都显示相同的代码,我不希望列表计数器增加。标题应始终显示相同的内容(“清单 42:标题”)

我设法通过对所有列表使用相同的标题/标签解决了第 (1) 点。但我如何确保标题不会增加列表计数器?通常用描述来中断长列表的方法是什么?

工作示例:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage[final]{listings}

\lstset{
    captionpos=b,
    extendedchars=true,
    numberbychapter=false,
    caption=\lstname,
    numbers=none,    
    basicstyle={\fontfamily{pcr}\selectfont\footnotesize},    
    breaklines,
    breakatwhitespace,
    breakautoindent,
}

\begin{document}

  Some paragraphs describing part 1

  \begin{lstlisting}[name={Caption},label={list:Label}]
  Code Part 1
  \end{lstlisting}

  Some paragraphs describing part 2

  \begin{lstlisting}[name={Caption}]
  Code Part 2
  \end{lstlisting}

\end{document}

答案1

添加一个空标题,然后使用标题键添加真实标题:

\documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}

    \usepackage{graphicx}
    \usepackage[final]{listings}

    \lstset{
        captionpos=b,
        extendedchars=true,
        numberbychapter=false,
        caption=\lstname,
        numbers=none,
        basicstyle={\fontfamily{pcr}\selectfont\footnotesize},
        breaklines,
        breakatwhitespace,
        breakautoindent,
    }

    \begin{document}

      Some paragraphs describing part 1

      \begin{lstlisting}[name={Caption},label={list:Label}]
      Code Part 1
      \end{lstlisting}

      Some paragraphs describing part 2

      \begin{lstlisting}[name={Caption},caption={},title={\lstlistingname~\thelstlisting: Blub (continued)}]
      Code Part 2
      \end{lstlisting}

    \end{document}

在此处输入图片描述

相关内容