LaTeX 文件中宏的文本替换

LaTeX 文件中宏的文本替换

这个问题是我根据自己写文章的个人经验提出的:我定义命令(无论是否参数化)是为了节省时间并减少论文中公式的拼写错误。我经常使用的一个非常简单的例子如下:

\documentclass{article}
\usepackage{amsmath}
...
\newcommand{\CC}[1][n]{\mathbb{C}^{#1}}

但是,一些出版商不想处理包含自定义命令的 .tex 文件,而要求作者仅使用标准 LaTeX 命令写下每个公式,这引起了我的问题:由于命令基本上是宏,是否可以指示 LaTeX 预处理器生成一个 .tex 文件,其中所有命令都已由相关的标准 LaTeX 表达式在文本上替换,还是我应该依靠 Emacs 的功能?

答案1

一家出版商的立场。

美国数学学会几乎所有的书籍和期刊都是使用 LaTeX 出版的,每年出版量超过 10,000 页,要求源文件具有一致性。

已出版作品的某些组成部分会提供给外部组织(聚合器和索引器)以供进一步传播。这些组成部分包括书目信息(主要是前言或顶部内容)、摘要和参考列表/书目。处理这些材料的组织通常不具备处理 LaTeX(或数学符号)的能力,尤其是没有作者创建的定义。因此,为了使这些“共享”材料易于理解,必须将其简化为最小公分母——没有作者定义的宏。

因此,请作者不要使用他们在标题、摘要和参考书目中定义的宏。可能还有进一步的限制——PDF 书签无法识别 LaTeX 符号,因此应提供替代表示。

另一个问题来源是作者对现有命令的重新定义。例如,当参考书目中出现具有法语名字的作者时(在 AMS 出版物中“标准化”为 MathSciNet 中使用的格式),对 \c 的重新定义可能会失败。如果 \c 被定义为只能出现在数学上下文中的东西,则会出现错误消息;但是,如果重新定义可以出现在文本中,则可能会被忽略,并且只有在作品出版后才会发现——这可能会让作者感到尴尬。

但是,鼓励作者在正文中定义常用的数学符号,因为这可以增强一致性,并有助于依赖源文件中的音频接口的盲人读者理解。(在这种情况下,精心选择的宏名称(在上下文中有意义的宏名称)很重要。这意味着名称不仅易于输入,而且可以清楚地识别其目标。)使用单字母宏名称不是一个好主意,既有歧义(已经定义),也有清晰度(它是什么意思?)。

在 AMS,如果作者不遵循这些说明,除非提交的内容存在其他重大问题,否则这些问题将由 AMS 内部解决。但是,由于对文件的任何“修改”都存在引入错误的风险,因此,遵循这些指导原则对作者最有利。

回答评论中提出的一些问题时,应该注意的是,AMS 生产流程不包含 xml/html 翻译,除非“最终”翻译为 html + mathjax,以便在网页上发布书目材料和摘要。此外,当出版物(期刊或会议论文集)包含不同作者的多篇论文时,每篇论文都会单独处理(因此作者定义的材料不会合并或受损),并且单独编写的 pdf 文件会通过 LaTeX 外部的进程合并为一个卷。

相关内容