是否可以将引用的结果(例如行号)转换为可用于计算的常规数字?我有这个(并且运行良好):
\FPeval{\result}{clip(5+6)} $\result$
现在我想做一个涉及 \lineref{myline} 的计算。但是,
\FPeval{\result}{clip(5+\lineref{myline})} $\result$
不起作用,因为\lineref{myline}
我猜它不被识别为数字。
有任何想法吗?
答案1
最简单的方法是使用refcount
包裹它允许使用函数的可扩展版本来检索计数器数字。这是一个从算法中提取行号的小示例:
\documentclass{article}
\usepackage{refcount}% http://ctan.org/pkg/refcount
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\usepackage{fp}% http://ctan.org/pkg/fp
\begin{document}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\State $r\gets a\bmod b$\label{myline}% This is line 6 in the algorithm
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
Result: \FPeval{\result}{clip(5+\getrefnumber{myline})} $\result$
\end{document}
\getrefnumber{<label>}
检索与 关联的计数器<label>
。对于页面引用的计算,\getpagerefnumber
提供了类似的方法。