提问于:
浏览数:
2095
在看过 stone-zeng 兄博客中提到的 [代码风格](https://stone-zeng.github.io/2019-02-26-l3tutorial-syntax/#代码风格) 后, 再结合我帮别人修改代码的经历 (没有交叉引用, 数学公式挤在一起等) 与 Python 的 [风格指南](https://www.python.org/dev/peps/pep-0008/), 思考了如下问题:
1. 是否有必要制定一个 LaTeX 的风格指南, 在一定程度上规约大家的代码 (当然估计是很不现实的, 例如部分使用者只是将 LaTeX 视作完成任务的工具, 许多代码没搞懂就粘贴至导言区.);
2. 如果以上想法可行, 是否可以在 [GitHub](https://github.com/latexstudio) 上开一个新坑;
3. 去年我读了 *More Math Into LaTeX*, 也记录了一些有关数学公式的笔记, 如果打算搞我可以先将数学公式简略地做出来, 再加以完善.
4 回答
8
个人觉得,有意义,没有特别的必要。
(问答网站无法显示无序列表的标号,以下不得不全部使用有序列表。)
你提到的两个资料,代表着 latex 里的不同层次。
1. stone-zeng 博文中提到的,侧重 latex3 编程层的代码风格,包括命名、大括号换行和缩进字符使用等。
1. 这个风格指南,作用域局限在 latex3 语法的编程上
1. 大部分使用 latex 的场景,是把它当作一个标记语言,偶尔定义新命令,基本不做编程的事(例如写判断、写循环)
1. More Math into LaTeX 里记录的,是从期刊和期刊编辑角度,从输出效果上对数学稿件的视觉要求。
1. 这份指南,只看数学公式部分,尝试约束的是「如果想表达某个语意结构,那么应该呈现为某个样子」,例如 `\quad/\qquad` 的使用例子。
1. 一方面,它不是去约束「latex 公式源码应该怎么编写」的,而是约束「在投稿 ams 期刊时,常用语意结构建议遵循的输出效果」
1. 另一方面,规则自身在演进,有一个「接受多元化、守住单篇文章内部的一致性、减少干预作者偏好」的倾向。这一点可以参考 [AMS Style Guide: Journals](http://www.ams.org/arc/styleguide/index.html)。你可以认为,这是 ams 官方目前认定的样式指南,优先级高于 More Math into LaTeX。
总体来看,有三个层面的风格
1. 编程层的风格,又有 primitive 的、latex2e 的、latex3 的。
1. 标记层的风格,例如行间公式 `\[ ... \]` 是否分别独占一行、逗号分隔列表中逗号后要不要空格、大括号是否独占一行等。
1. 输出内容应遵循的风格。
前两个层面,有时候是交叉混杂的。又因为 tex 里的语法概念很少,要说清楚其实并不容易(比如,java 里光说声明/declaration、方法/method 就可以细分很多类)。可以试用能根据配置风格自动对齐 latex 源码的项目 [latexindent](https://ctan.org/pkg/latexindent),感受「语法概念少」带来的规约困难。
第三个层面,中外有别、不同场景(例如科技文献和中小学教辅)有别、不同的质量把控中心有别(例如不同的出版社、期刊编辑部)。
相对而言,我觉得第三个层面应该交给质量把控中心。latex 角度可以做的是,关于「如果你要用 latex 准备某社的稿件,那么怎么做能高效率、高标准地满足它的风格指南」的建议。从国内的角度,缺的是「出版社、期刊的样式和写作风格指南」。
最后,我不喜欢匿名提问。
-
非常感谢! – 匿名用户 2019-11-12 11:23 回复
3
基本上,这个,很难做到。
3
有点难度, 但是是好事情, 鼓励!
2
有点难啊……
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。