包装标签:fancyvrb

包装标签:fancyvrb

我有一个计算机程序代码的乳胶代码,如在这里。我想给这段代码写一个标签。我搜索了一下,但找不到如何给源代码添加标签。任何帮助都将非常有帮助!


引用自链接来源,链接内容截至 2013-03-20 20:53:13:

要在 latex 中编写代码,您可以使用\begin{verbatim} \end{verbatim}环境。类似的方法是这样做

\usepackage{fancyvrb}
\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}

然后你就可以在正文中输入代码了

\begin{code}
c+=1;
\end{code}

答案1

您指的是 TeX 标签吗?您可以在文档的其他地方引用它\ref?一种方法是使用listings包而不是 fancyvrb。然后,您可以像这样在文档中包含代码:

\begin{lstlisting}[caption={Cool code},label=cool]
c+=1;
\end{lstlisting}

正如您所期望的,caption选项在代码列表下提供了一个标题(如“清单 1:酷代码”),标签选项提供了一个可以引用的标签,如\ref{cool}。必须提供标题才能使标签起作用,至少在我的安装中是这样的。

一位 MWE 表示:

\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[caption={Cool code},label=cool]
c+=1;
\end{lstlisting}
\begin{lstlisting}[caption={Wow},label=wow]
c-=1;
\end{lstlisting}
As you can see in Listing~\ref{cool}, we can increment variables.
Having thought better of it, Listing~\ref{wow} allows us to retreat.
\end{document}

相反,如果您希望引用代码列表的特定行号,您可以继续使用该fancyvrb包并执行类似 fancyvrb 文档中的示例:

\begin{Verbatim}[commandchars=\\\{\},numbers=left,numbersep=2pt]
First verbatim line.
Second line.\label{vrb:Important}
Third verbatim line.
\end{Verbatim}

As I previously showed in 
line~\ref{vrb:Important}, it is...

您可以通过在命令中包含选项来简化使用\DeclareVerbatimEnvironment,如下所示:

\documentclass{article}
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small,commandchars=\\\{\},numbers=left,numbersep=2pt}
\begin{document}
\begin{code}
c+=1;\label{cool}
c-=1;\label{wow}
\end{code}
As you can see on Line~\ref{cool}, we can increment variables.
Having thought better of it, Line~\ref{wow} allows us to retreat.
\end{document}

相关内容