逐字交叉引用

逐字交叉引用

我目前正在尝试引用 vebatim 块,但不确定为什么它不起作用......

\begin{verbatim}
ref: 
hyp:    
\label{verb:deletion}
\end{verbatim}

编辑

我猜想用逐字记录来做到这一点是不可能的。我想突出显示逐字记录块中的一个功能,但是是否可以用不同的方式来做到这一点,以便也可以引用它。

如果解决方案不涉及干扰现有命令或创建新命令,我们将不胜感激。难道没有一个包可以做到这一点吗?

答案1

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[scaled=0.88]{beramono}    
\usepackage{listings}
\lstset{basicstyle=\small\ttfamily}

\begin{document}
\begin{lstlisting}[label=verb1,caption=First verbatim,float,frame=tb]
Foo stuff to be displayed verbatim

Something like \LaTeXe
\end{lstlisting}

In~\ref{verb1} we see some verbatim code
\end{document}

在此处输入图片描述

答案2

由于verbatim环境本身没有计数器(至少在verbatim包版本中),所以\label没有预期的效果,除了\label出现在环境内部的verbatim命令序列被完全忽略并被视为纯文本,没有进一步的含义。

然而,可以verbatim使用计数器并使用某种引导线来“欺骗”环境,显示数字,在这种情况下,可以引用“正确”的数字。

\documentclass{article}

\usepackage{etoolbox}

\newcounter{myverb}
\usepackage{verbatim}

\BeforeBeginEnvironment{verbatim}{%
\refstepcounter{myverb}%
\noindent\textbf{Verbatim stuff \themyverb}%
}

\begin{document}
\begin{verbatim}
Foo stuff to be displayed verbatim

Something like \LaTeXe
\end{verbatim}
\label{Foo}

In \ref{Foo} we see some foo stuff, but not \LaTeXe\ as expected!
\end{document}

在此处输入图片描述

相关内容