我可以在不改变计数器的情况下引用相对于计数器的数字吗?

我可以在不改变计数器的情况下引用相对于计数器的数字吗?

我有一个名为的计数器LCount,我想在某些文本中使用它,并且我希望能够引用与该计数器相关的数字。例如,我想要这个 LaTeX 代码:

For the regular languages:
\begin{align*}
&L_\theLCount = L((a|b^*)cc^*a^*(c|b^*)^*)\\\stepcounter{LCount}
&L_\theLCount = L(ac^*c(a^*|b)^*)\stepcounter{LCount}
\end{align*}
If $L_\theLCount = L_{\theLCount-2} \cap L_{\theLCount-1}$, then:

像这样渲染:

在此处输入图片描述

ifLCount的初始值为 2。有办法吗?我应该使用除计数器之外的其他东西吗?我知道我可以多次使用 \addtocounter 并制作最后一行:

If $L_\theLCount = \addtocounter{LCount}{-2} L_\theLCount \cap \addtocounter{LCount}{1} L_\theLCount$\stepcounter{LCount}, then:    

但这看起来确实很笨拙且效率低下。有没有更好的方法?

答案1

你可以做这样的事情:

\makeatletter
\newcount\tmpc@unter
\newcount\LCount
\LCount=2
\def\stepL{\global\advance\LCount1\relax}
\def\theL{{\the\LCount}}
\def\nextL{{\stepL\theL}}
\def\refL#1{{\tmpc@unter=\LCount\advance\tmpc@unter#1\relax\the\tmpc@unter}}
\makeatother
\begin{document}
$$L_\theL = L_\nextL + L_\nextL$$
and now:
$$L_\refL{-2} = L_\refL{-1} + L_\theL$$
\end{document}

即使用时间计数器。

答案2

一种选择是使用标准方式\refstepcounter

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\newcounter{LCount}
\begin{document}
\stepcounter{LCount}\stepcounter{LCount}
For the regular languages:
\begin{equation}
    \refstepcounter{LCount}\label{first}
    L_\theLCount = L((a|b^*)cc^*a^*(c|b^*)^*)
\end{equation}
\[
    \refstepcounter{LCount}\label{second}
    L_\theLCount = L(ac^*c(a^*|b)^*)
\]
\refstepcounter{LCount}
If $L_\theLCount = L_{\ref{first}} \cap L_{\ref{second}}$, then:    
\end{document}

amsmath但请注意,用于方程编号的计数器会出现问题(我认为,值得提出另一个问题) 。

标准文章类别输出

(顺便说一句,下次发布完整的 MWE...)

相关内容