我有一个很大的列表,我将其分成几个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 页,我将每个有趣的组件放在单独的列表中,以便可以在其中添加描述。这有几个后果:
- 由于我在描述中引用了特定的行,因此行号应该从它们停止的地方继续
- 由于所有列表环境都显示相同的代码,我不希望列表计数器增加。标题应始终显示相同的内容(“清单 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}