同步列表标题编号并将所有内容添加到列表列表

同步列表标题编号并将所有内容添加到列表列表

我想创建一个包含所有列表的列表。列表本身允许添加标题并使用 将它们列在列表中\lstlistoflistings,但它们不能浮动。如果我使用 设置这样的浮动环境,floatrow它们属于不同的列表,并且标题的编号是错误的。我希望在一个编号方案中正确显示数字,并将两者添加到列表列表中。

第一个标题是“清单 1:”

第二个的标题是“代码 0.0.1:”

\documentclass{scrbook}

\usepackage{listings}
\usepackage{floatrow}
\DeclareNewFloatType{Code}%
{placement=tbhp,within=section,fileext=loc}

\begin{document}
\begin{lstlisting}[caption={LaTeX Listings}]
\begin{document}
\chapter{Introduction}
Some text ...
\chapter{Theory}
\end{document}
\end{lstlisting}

\begin{Code}[H]
\begin{lstlisting}[language={[Visual]Basic}]
Sub Main()
    MsgBox "Hallo Welt!"
End Sub
\end{lstlisting}
  \caption{Hello World in Visual Basic 6}
  \label{lstLaTeXLinesOfCode2}
\end{Code}

\lstlistoflistings
\listof{Code}{List of Code listings}

\end{document}

答案1

listings允许您指定一个float=<spec>键值以允许lstlisting浮动,这样您就无需创建自己的浮动环境。在这里,<spec>可以从中进行任意组合htbp

浮动列表

\documentclass{scrbook}

\usepackage{listings}% http://ctan.org/pkg/listings
%\usepackage{floatrow}
%\DeclareNewFloatType{Code}%
%{placement=tbhp,within=section,fileext=loc}

\begin{document}

Here is some text.

\begin{lstlisting}[caption={LaTeX Listings},float=t]
\begin{document}
\chapter{Introduction}
Some text ...
\chapter{Theory}
\end{document}
\end{lstlisting}

Here is some more text.

%\begin{Code}[H]
\begin{lstlisting}[caption={Hello World in Visual Basic 6},label=lstLaTeXLinesOfCode2,language={[Visual]Basic},float=t]
Sub Main()
    MsgBox "Hallo Welt!"
End Sub
\end{lstlisting}
%  \caption{Hello World in Visual Basic 6}
%  \label{lstLaTeXLinesOfCode2}
%\end{Code}

Here is some more text, yet again.

\lstlistoflistings
%\listof{Code}{List of Code listings}

\end{document}​

请参阅第 6 页listings文档

相关内容