是否可以在 flagderiv 中输出相对行号?

是否可以在 flagderiv 中输出相对行号?

我试图输出一个相对于我证明的当前步骤的数字,而不是硬编码。我将尝试解释我对此证明的意思:

\documentclass[11pt]{article}
    \usepackage[a4paper,total={6in,8in},textwidth=496pt]{geometry}  
    \usepackage{amsmath}
    \usepackage{amstext}
    \usepackage{flagderiv}
    \usepackage{calc}
    \usepackage[nomessages]{fp}
    
    
\begin{document}

\begin{flagderiv}
\step{}{P}{}
\step{}{P\implies Q}{}
\conclude{}{Q}{1\&2}
\end{flagderiv}

\end{document}

上面的代码

我不需要在结论部分写下这些,而是1\&2​​想找到某种方法,使用步进计数器来得到上面这一行的内容。

我知道旗帜衍生物有一个\thestepcounter变量,但它给出了以下格式的数字:(n)。我还想使用FP(我发现这个答案) 以这样的方式进行数学运算:\FPeval{\result}{clip(\thestepcounter-1)}。但我还没有找到可行的变体。

这听起来是可能的,但我对 latex 还很陌生,以这种方式操纵变量对我来说是无法理解的。在阅读了部分实现部分后在此 pdf 中我想这\thefd@stepcount可能是我正在寻找的变量,但它似乎是内部的,我不知道如何访问它。

任何帮助都非常感谢。提前谢谢您!

答案1

第一个参数\step(您将其留空)是一个标签,可以通过标准方法引用。

\documentclass[11pt]{article}

\usepackage{flagderiv}
\usepackage{amsmath}
    
\begin{document}

\begin{flagderiv}
\step{foo}{P}{}
\step{bar}{P\implies Q}{}
\conclude{}{Q}{\ref{foo} \& \ref{bar}}
\end{flagderiv}

\end{document}

在此处输入图片描述

答案2

这里提供了一个新命令\relativeRef{<num>}(您当然可以使用更短的宏名称)。例如,在第 3 行,\relativeRef{2}将给出1(3 减 2)。请注意,下面的计数器名为fd@stepcount

\documentclass{article}
\usepackage{amsmath}
\usepackage{flagderiv}

\makeatletter
\newcommand{\relativeRef}[1]{%
  \the\numexpr\c@fd@stepcount-#1\relax
}
\makeatother

\begin{document}
\begin{flagderiv}
  \step{}{P}{}
  \step{}{P\implies Q}{}
  \conclude{}{Q}{\relativeRef{2} \& \relativeRef{1}}
\end{flagderiv}
\end{document}

在此处输入图片描述

相关内容