我最近将我的代码清单从包换listing
成了minted
包。当我使用 lstlistings 时,我能够重新定义以自动在每个行号\lst@Key
处放置格式标签。\lst@label:\arabic{lstnumber}
然而,在浏览minted
完fancyvrb
源代码之后,我还是找不到对这个minted
包执行此操作的方法。
重新定义\theFancyVerbLine
似乎是显而易见的解决方案,但我无法访问那里铸造的标签。
对于如何实现这一点,您有什么想法吗?
答案1
我最终minted
在一个新的环境中完成了包装,它允许我制作\theFancyVerbLine
具有格式的位置标签<label> : <linenum>
,并跳转到精确的行。
\newcounter{lstlinenum}
\newenvironment{lst}[4][]
{
\setcounter{lstlinenum}{0}
\def\theFancyVerbLine{
\rmfamily\tiny\arabic{FancyVerbLine}
\refstepcounter{lstlinenum}
\label{#4:\arabic{lstlinenum}}
}
\VerbatimEnvironment
\begin{listing}[htp]
\caption{#3}\label{#4}
\begin{minted}[#1]{#2}%
}{
\end{minted}
\end{listing}
\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}}%
}