重复 \alph 脚注标记

重复 \alph 脚注标记

我想使用小写字母作为脚注标记,并让它们重复,这样在 z 之后,它们会从 a 重新开始。似乎一个简单的方法是计算脚注计数器的模数减 1。由于缺乏 LaTeX 编程经验,我认为我应该学习新的expl3界面,它提供了一个模数命令。但是,我不知道如何在 int 表达式中使用脚注计数器的值。文档interface3说,“整数操作数也可以是:\value{⟨LaTeX2ε counter⟩};…”,但当我尝试这样做时,我收到此错误:

! Missing number, treated as zero.
<to be read again> 
                   \c@1 
l.14 Some text.\footnote{
                         First footnote.}

平均能量损失

\documentclass{memoir}

\ExplSyntaxOn
\RenewDocumentCommand {\thefootnote} {} {
  \int_set:Nn \l_tmpa_int {
    \int_mod:nn {\value{footnote} - 1} {26}
  }
  \alph{\int_eval:n{\l_tmpa_int + 1}}
}
\ExplSyntaxOff

\begin{document}

Some text.\footnote{First footnote.}
Some more text.\footnote{Second footnote.}
And even more text.\footnote{Third footnote.}
More text.\footnote{Fourth footnote.}
More text.\footnote{Fifth footnote.}
More text.\footnote{Sixth footnote.}
More text.\footnote{Seventh footnote.}
More text.\footnote{Eighth footnote.}
More text.\footnote{Ninth footnote.}
More text.\footnote{Tenth footnote.}
More text.\footnote{Eleventh footnote.}
More text.\footnote{Twelfth footnote.}
More text.\footnote{Thirteenth footnote.}
More text.\footnote{Fourteenth footnote.}
More text.\footnote{Fifteenth footnote.}
More text.\footnote{Sixteenth footnote.}
More text.\footnote{Seventeenth footnote.}
More text.\footnote{Eighteenth footnote.}
More text.\footnote{Nineteenth footnote.}
More text.\footnote{Twentieth footnote.}
More text.\footnote{Twenty-first footnote.}
More text.\footnote{Twenty-second footnote.}
More text.\footnote{Twenty-third footnote.}
More text.\footnote{Twenty-fourth footnote.}
More text.\footnote{Twenty-fifth footnote.}
More text.\footnote{Twenty-sixth footnote.}
More text.\footnote{Twenty-seventh footnote.}

\end{document}

如果这很重要,我实际上不想使用常规脚注系列来执行此操作,而是使用 定义的附加系列\newfootnoteseries{T}。所以我的计数器名称是footnoteT。但这似乎与 MWE 无关。

答案1

该错误是由于\alph您有效地\alph{1}寻找名称的计数器而造成的1

你可以使用\@alph{...},但是 L3 方式是\int_to_alph:n{...}

你可以使用

\RenewDocumentCommand {\thefootnote} {} {
  \int_set:Nn \l_tmpa_int {
    \int_mod:nn {\value{footnote} - 1} {26}
  }
  \int_to_alph:n{\l_tmpa_int + 1}
}

但不需要中间变量,所以

\documentclass{memoir}

\ExplSyntaxOn
\RenewDocumentCommand {\thefootnote} {} {
  \int_to_alph:n{\int_mod:nn {\value{footnote} - 1} {26} + 1}
}
\ExplSyntaxOff

\begin{document}

Some text.\footnote{First footnote.}
Some more text.\footnote{Second footnote.}
And even more text.\footnote{Third footnote.}
More text.\footnote{Fourth footnote.}
More text.\footnote{Fifth footnote.}
More text.\footnote{Sixth footnote.}
More text.\footnote{Seventh footnote.}
More text.\footnote{Eighth footnote.}
More text.\footnote{Ninth footnote.}
More text.\footnote{Tenth footnote.}
More text.\footnote{Eleventh footnote.}
More text.\footnote{Twelfth footnote.}
More text.\footnote{Thirteenth footnote.}
More text.\footnote{Fourteenth footnote.}
More text.\footnote{Fifteenth footnote.}
More text.\footnote{Sixteenth footnote.}
More text.\footnote{Seventeenth footnote.}
More text.\footnote{Eighteenth footnote.}
More text.\footnote{Nineteenth footnote.}
More text.\footnote{Twentieth footnote.}
More text.\footnote{Twenty-first footnote.}
More text.\footnote{Twenty-second footnote.}
More text.\footnote{Twenty-third footnote.}
More text.\footnote{Twenty-fourth footnote.}
More text.\footnote{Twenty-fifth footnote.}
More text.\footnote{Twenty-sixth footnote.}
More text.\footnote{Twenty-seventh footnote.}

\end{document}

在此处输入图片描述

相关内容