将引用结果转换为常规数字

将引用结果转换为常规数字

是否可以将引用的结果(例如行号)转换为可用于计算的常规数字?我有这个(并且运行良好):

\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提供了类似的方法。

相关内容