我想引用minted
环境中的线条(已解决这里对于常规\ref
),使用 cleveref。
梅威瑟:
% !TEX TS-program = arara
% arara: pdflatex: { shell: yes }
% arara: pdflatex: { shell: yes }
\documentclass{article}
\usepackage{minted}
\usepackage{cleveref}
\begin{document}
\section{First section}
\begin{minted}[linenos=true, mathescape]{c}
int i = 0;
int j = 1; // label $\label{ln:unreachable1}$
\end{minted}
Test with ref: \ref{ln:unreachable1}
Test with cref: \cref{ln:unreachable1}
\end{document}
给予
即包含部分而不是“行 $number”。
答案1
尽管无法直接使其工作,但有一个解决方法:
\newcommand{\Vlabel}[1]{\label[line]{#1}\hypertarget{#1}{}}
\newcommand{\lref}[1]{\hyperlink{#1}{\FancyVerbLineautorefname~\ref*{#1}}}
用 创建标签,\Vlabel{label}
然后使用\lref{label}
。我知道,这并不比手动编写链接好多少。至少,超链接可以正常工作。
使用[line]
,我可以cleveref
打印出“行”而不是部分,但引用仍然是错误的。
该解决方案基于以下讨论http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2008-12/msg00075.html。