在任何其他编程语言中,我们都有几种方法来格式化源代码。例如,一些标准样式是:
- 奥尔曼(ANSI)
- 韓國
- GNU
....
在 LaTeX 中,我找不到一种简洁的方法来清理我的代码。大多数时候,我通常会让它们像这样相互对齐:
来自 TikZ Automaton 的一个例子
\begin{tikzpicture}[shorten >=1pt, node distance=3cm,auto,on grid,initial text=, every state/.style={minimum size=3mm,draw=blue!50,very thick,fill=blue!20}]
\node[state] (q_1) {$q_1$};
\node[state] (q_2) [right=of q_1] {$q_2$};
\node[state,accepting] (q_3) [right=of q_2] {$q_3$};
\path[->]
(q_1) edge node {a} (q_2)
(q_1) edge [loop left] node {b} (q_1)
(q_2) edge [bend right] node[yshift=4mm] {a} (q_1)
(q_2) edge node {b} (q_3)
(q_3) edge [bend left] node {a} (q_1)
(q_3) edge [loop right] node {b} (q_3)
;
\end{tikzpicture}
不用说,手动执行此操作非常耗时且繁琐。此外,由于它不遵循任何规则,格式不一致,并且可能因文件而异。所以我的问题是,格式化源.tex
代码是否有标准样式?
答案1
我认为除了 C/C++ 和具有类似 C 语法的语言之外,没有太多标准的编码风格。事实上,你在问题中提到的风格都是 C 风格。我不记得有任何命名样式适用于 lua、PHP、Lisp 等。当然,许多语言都有广泛使用的风格,但除了 C/C++ 之外,你几乎找不到任何“风格指南”。
TeX 的语法非常独特,但它实际上并没有一种风格。在我看来,定义一种风格甚至是不可能的。例如,在 C 语言中,有人(我认为是 Linus)曾经说过,如果你的代码有三层或更多的嵌套层,那么你应该重新设计它。然而,对于 TeX 来说,数学公式有很多层括号的情况并不罕见,人们需要处理这些长公式,即如何将它们分成几行,在哪里对齐它们,等等。在 TeX 世界中,很难定义适用于所有情况的明确规则。
但可读性代码的对齐仍然非常重要:这就是样式被发明的原因。根据我的经验,对齐可能是提高 TeX 代码可读性的最重要工具。事实上,有一些工具,例如 Vim 的 Align 插件,可以使这项任务更容易。缩进对 TeX 和其他语言一样重要。我只是不认为为所有 TeX 代码定义一致的规则更好。相反,我认为 TeX 更接近人类语言,需要我们根据上下文来提高其可读性。