有没有办法为 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
调整界面以适应。