有 newmarks 命令吗?

有 newmarks 命令吗?

有没有办法为 e-tex 标记分配名称,类似于\newtoks?实现起来应该不太难,我只是想知道它是否已经存在。

要明确的是:e-tex 提供了更多页面标记,可通过原始命令访问\marks<number>。我正在寻找一个可以用作

\newmarks\thingy

然后生成命令\thingymark{<text for mark>}\topthingy\botthingy\firstthingy用于访问它们。

答案1

如果你说的是 LaTeX,那么\newmarks有:

> latexdef newmarks

\newmarks:
macro:->\e@alloc \marks \e@alloc@chardef {\count 256}\m@ne \e@alloc@top 

但是\newmarks\thingy需要像

\marks\thingy{the mark text}
\topmarks\thingy
\botmarks\thingy
\firstmarks\thingy

在此基础上构建并不困难:

\newcommand{\newmarksname}[1]{%
  \expandafter\newmarks\csname #1\endcsname
  \expandafter\edef\csname marks#1\endcsname{\marks\csname #1\endcsname}%
  \expandafter\edef\csname top#1\endcsname{\noexpand\topmarks\csname #1\endcsname}%
  \expandafter\edef\csname bot#1\endcsname{\noexpand\botmarks\csname #1\endcsname}%
  \expandafter\edef\csname first#1\endcsname{\noexpand\firstmarks\csname #1\endcsname}%
}

然后,\newmarksname{thingy}你既可以使用上面的语法,也可以使用

\marksthingy{the mark text}
\topthingy
\botthingy
\firstthingy

调整界面以适应。

相关内容