风格说明清单
这些说明会随时间改变,但现在先列出一些,希望能够促进 LaTeX 风格的一致性。 我们把源文件的内容称为“代码1”。
所有 tex 文件中的每一行最多 80 个字符。
tex 文件中不要使用缩进。使用编辑器的语法高亮,而不是缩进,来直观显示 环境等结构。
使用
\medskip\noindent开始一个新段落;环境之后紧接着开始新段落时,使用
\noindent。
如果可能,不要把数学公式的代码跨行拆开。如果包含美元符号的完整代码 无法放在一行中,那么就在下一行的第一个字符处开始第一个美元符号。如果这样 仍然放不下,就在数学上合理的位置拆分代码。
陈列的数学公式应按如下方式编码:
$$ ... ... $$换句话说,在单独一行上以双美元符号开始,并以同样方式结束。
不要使用任何宏。理由是:这样更容易阅读 tex 文件,也更容易开始编辑 任意部分,而不必先学会无数宏;并且这不会使书写变得更困难或更耗时。 当然,其缺点是同一个数学对象在文本的不同位置可能采用不同的 TeX 写法, 但这应当很容易发现。
我们使用的定理环境包括: “theorem”、“proposition”、“lemma”(plain), “definition”、“example”、“exercise”、“situation”(definition), “remark”、“remarks”(remark)。当然也有“proof”环境。
环境 “foo” 应按如下方式编码:
\begin{foo} ... ... \end{foo}其方式与陈列公式的编码方式类似。
不使用 “corollary”,而只使用 “lemma” 环境,因为该结果很可能会被用来 证明下一个更大的定理。
每个引理、命题或定理之后都直接给出该引理、命题或定理的证明。请不要 使用嵌套证明。
文件 preamble.tex、chapters.tex 和 fdl.tex 是特殊的 tex 文件。除此之外, 每个 tex 文件都具有如下结构:
\title{Title} ... ...尽量给引理、命题、定理,甚至注记、练习和其他环境添加标签。 如果给引理加标签,可以使用如下形式:
\begin{lemma} \label{coding-lemma-bar} ... \end{lemma}其他环境同理。换句话说,名为 “foo” 的环境的标签以 “foo-” 开头。 此外,请使所有标签只由小写字母、数字和符号 “-” 构成。
永远不要称某个结果为“上面的引理”(或命题等)。应改为使用:
Lemma \ref{coding-lemma-bar} above这样以后移动引理基本上不会造成问题。
跨文件引用。要引用文件 foo.tex 中标签为 “lemma-bar” 的引理,而该文件 标题为 “Foo”,请使用如下代码:
Foo, Lemma \ref{foo-lemma-bar}如果这不起作用,请查看文件 preamble.tex,找出应使用的正确表达式。 这样输出文件中会出现 “Foo, Lemma \(<\)link\(>\)”,从而清楚表明该链接指向文件外部。
如果可能,避免在证明环境中使用前向引用。(应当可以为此编写自动化测试。)
不要以数学符号开始任何句子。
不要在引理、命题或定理之前紧接着写“这由下面内容推出”之类的句子。 每个句子都以句号结束。
在每个引理、命题和定理中陈述全部假设。这样读者更容易判断某个引理、 命题或定理是否适用于自己的具体问题。
保持证明简短;在 pdf 或 dvi 中少于 1 页。总可以通过把证明拆分到引理等 环境中来做到这一点。
在定义性质 foobar 时,在 definition 环境内部的代码中使用
{\it foobar}。定义出现在文档正文中时也同样处理。这样读者就能更容易看出正在定义的对象。
把将在所在章节之外使用的定义放入它自己的 definition 环境中。临时定义 可以写在正文中。数学构造是一个棘手的情形(它们往往是涉及相互关联引理的定义)。 一个可能的好办法是把它们放在自己的短章节中,使用户可以引用该章节,而不是 引用某个定义。
除非公式确实会在正文中被引用,否则不要给公式编号。以后总可以添加标签。
在引理、命题和定理的陈述及证明中保持句子简短。例如,与其写 “设 \(R\) 是一个环,且设 \(M\) 是一个 \(R\)-模。”,不如写 “设 \(R\) 是一个环。设 \(M\) 是一个 \(R\)-模。”理由是:这会使证明和陈述中较难 解析的部分更容易理解。
使用
\section命令创建章节,但尽量避免使用小节和小小节。
避免使用复杂的 latex 构造。