如何跟踪自标记以来的行数?

如何跟踪自标记以来的行数?

我试图跟踪自某些标记以来的行数,以便我可以更改\localleftbox特定行的内容。为此,我一直在尝试以下简单文档(其中我只是尝试显示行号,\localleftbox即使在最终文档中我不是显示行号,但框的内容完全不同):

\documentclass{article}

\usepackage{blindtext}

\newcount\test%
\test=0
\def\testincrement{\global\advance\test by 1\relax%
    \the\test\hspace{1em}}

\def\markeron{
    \test=0
    \localleftbox{%
        \unexpanded{\testincrement}%
    }
}
\def\markeroff{\localleftbox{}}

\begin{document}

\markeron
hello \the\test\\
hi \the\test\\
\advance\test by 1\relax% manually advance test to see if the box will change
goodbye \the\test\\
really \the\test
\markeroff

\blindtext

\markeron
\blindtext

\end{document}

但是,\localleftbox始终显示相同的数字。这似乎是由于两个问题造成的:

  1. \global\advance\test by 1\relax内部不起作用\localleftbox所以计数器\test保持在 1。
  2. 即使\test超出了\localleftbox框的内容也不要对此做出反应并继续显示1。

关于如何修复此问题或其他解决方法,有什么建议吗?

相关内容