![使用 minted 突出显示标记的代码行](https://linux22.com/image/415357/%E4%BD%BF%E7%94%A8%20minted%20%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E6%A0%87%E8%AE%B0%E7%9A%84%E4%BB%A3%E7%A0%81%E8%A1%8C.png)
我想知道我是否可以使用标签机制解释这里获取我想要使用的行号通过高亮显示代码highlightlines
铸造。
我正在想象这样的事情(修改后的例子来自https://tex.stackexchange.com/a/483714/85983):
\begin{minted}[linenos=true, escapeinside=!!, highlightlines=\ref{myline}]{c++}
i = i + 1 ;
j = j + 1 ; !\label{myline}!
k = k + 1 ;
\end{minted}
The important line is line \ref{myline}.
在结果输出中,该行j = j + 1 ;
应该被突出显示。
答案1
\ref
和都不\pageref
是完全可扩展的,但是refcount
包裹提供一个\getrefnumber{<label name>}
,它完全扩展到该链接的计数器值<label name>
。因此,您的要求可以通过以下方式实现:
\documentclass{article}
\usepackage{minted}
\usepackage{refcount}
\makeatletter
% expand value of key "highlightlines"
\define@key{FV}{highlightlines}{\edef\FV@HighlightLinesList{#1}}
\makeatother
\begin{document}
\begin{minted}[
linenos=true,
escapeinside=!!,
highlightlines={\getrefnumber{myline}, \getrefnumber{yourline}}
]{c++}
i = i + 1 ;
j = j + 1 ; !\label{myline}!
k = k + 1 ;
l = l + 1 ; !\label{yourline}!
\end{minted}
The important lines are line~\ref{myline} and line\ref{yourline}.
\end{document}