如何在 latex 中创建新命令 \listofcodes?

如何在 latex 中创建新命令 \listofcodes?

除了表格和图形外,我还有一堆代码片段。如下所示:

    \begin{figure}
    \lstinputlisting[
    language=C++, breaklines=true,
    keywordstyle=\color{blue},
    commentstyle=\color{mygreen},
    stringstyle=\color{red},
    frame=single,
    backgroundcolor=\color{gray},
    basicstyle=\footnotesize\ttfamily,
    caption={Data acquisition code},
    label={code:data}]
    {codes/data.cpp}
\end{figure}

这些代码没有出现在图表或目录中,这正是我想要的。

现在我想创建一个类似于 \listoffigures 的新代码表 \listofcodes。它应该创建第三个表。我该怎么做?

答案1

如果你正在使用该listings软件包,那么你有\lstlistoflistings生成一个列表。我看到你正在将你的封闭lstinputlistings在一个figure环境中;如果想法是将它们变成浮点数,那么您可以使用该float选项;一个小例子:

\documentclass{book}
\usepackage{listings}

\begin{document}
\lstlistoflistings

%A non-floating listing:
\begin{lstlisting}[caption={Useless code one},label=uselessone]
for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}

%A floating listing:
\begin{lstlisting}[float,caption={Useless code two},label=uselesstwo]
for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}

\end{document}

编辑:根据 Andrey Vihrov 的评论更正了示例。

相关内容