AMSTeX 有一个\proclaim
如下的宏:
\proclaim{Theorem 10}
Text of the theorem
\endproclaim
结果是
定理10。 定理文本。
换句话说,此环境在数字后添加了一个点 (.)。我希望那里没有那个点,也就是说,我希望输出仅为
定理 10 定理文本。
我在包含大约 30 个文件的稿件中大约出现了 200 次这个宏,自然想要一种不太麻烦的方法来实现这一点。我尝试重新定义\proclaim
为\myproclaim
,但它似乎不喜欢 #(嵌套)。有什么建议吗?
答案1
这是一个很奇怪的格式选择但是:
\input amstex
\documentstyle{amsppt}
\catcode`\@=11
\let\proclaim\relax
\outer\def\proclaim{%
\let\savedef@\proclaim \let\proclaim\relax
\add@missing\endroster \add@missing\enddefinition
\add@missing\endproclaim \envir@stack\endproclaim
\def\proclaim##1{\restoredef@\proclaim
\penaltyandskip@{-100}\preproclaimskip
{\def\usualspace{\/{\proclaimheadfont@\enspace}}%
\varindent@\proclaimheadfont@\ignorespaces##1\unskip
\frills@{%
%.
\enspace}}%
\proclaimfont\ignorespaces}%
\nofrillscheck\proclaim}
\catcode`\@=13
\proclaim{Theorem 10}
Text of the theorem
\endproclaim
\bye