虽然我不在谷歌工作,但Google 风格指南对我采用一致、可读的代码样式约定非常有帮助。遗憾的是,没有针对 LaTeX 的 Google 样式指南。
问:对于 LaTeX,有人知道与 Google Styleguides 相当的东西吗?
在网络上快速搜索 LaTeX 样式指南,会返回大量强调如何已编译LaTeX 文档应该会出现。我找不到任何强调未编译 .tex
文档应该会出现。
我想,如果没有与 Google 风格指南相当的东西,那么一个标准的、写得非常干净且带有注释的.tex
模板就足够了。
更新:在 StackOverflow 上,我发现了一篇类似的帖子,询问Ruby 编码风格指南。那里提供了很多有用的链接。我正在寻找类似的东西。
答案1
最普遍的建议是:使用空格使代码更易读。
我来举几个例子。
始终将
\begin{environment}
和\end{environment}
放在单独的行上,不要包含其他内容。环境通常表示您正在做一些“完全不同”的事情,这样更容易找到环境。相关:在环境中,使用缩进的方式与在任何编程语言中一样。每个嵌套级别使用 2、4 或其他数字并不重要(但如果您的编辑器使用比例字体,您可能至少需要 4;比例字体中的空格通常比打印字符小得多)。
\begin{equation} \det \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = -2 \end{equation}
每当您强制使用换行符
\\
(在表格、矩阵、对齐环境中……)时,不言而喻的是,它后面应该跟着代码中的换行符。在数学模式下,空格会被忽略。因此,在二元关系周围使用空格,在某些情况下,二元运算符也需要使用空格。请写
$a^2 + b^2 = c^2$
而不是$a^2+b^2=c^2$
。在逗号后添加空格(如 )也是$(x, y, z)$
个好主意。在诸如对齐之类的环境中,不允许出现空白行。但是,您可以通过
%
在方程式之间的一行上放置一个空格来为自己提供一些垂直空白空间。\begin{align*} \sum_{n=1}^{\infty} \bigl(F(\tau^n m) - F(\tau^{n-1} m)\bigr) &= x\\ % \sum_{n=1}^{\infty} \bigl(F(\tau^{-n} m) - F(\tau^{-(n-1)} m)\bigr) &= y \end{align*}
如果您不想分段,同样的技巧也适用于普通文本。但请记住,一行空白与五行空白具有相同的效果;在标题周围
\chapter
留\section
几行空白是个好主意。这会使导航更容易。
上述大多数方法都能使你的代码看起来更像编译后的文档,我觉得这非常好。当然,具有语法突出显示、缩进功能和括号匹配功能的编辑器也有很大帮助。
答案2
(这原本是一个评论,但我认为我需要格式化才能更清晰。)
我无法回答你的问题,而且我认为即使是试图提炼指南的社区维基帖子也会失败,因为正如威尔所说,风格千差万别。
两个建议:
对于任何稍微复杂的事情,每行都放一个命令。例如,如果您需要定义一个宏,例如,结束当前段落,跳过两行,然后将其参数放在一个带框的框中,请编写如下内容。
\def\foo#1{% \par \vskip2\baselineskip \fbox{#1}% }
当多个事物在逻辑上属于一起时,我有时会违反这一点,如下面的例子所示。
使用缩进来显示分组,就像在其他编程语言中一样。你使用多少个空格/制表符并不重要(虽然我个人认为 1 或 2 个太少,我知道其他人不同意),重要的是你这样做。上面的代码就是一个例子。另一个地方是框内,例如
\vbox
或当你使用显式分组时,例如\begingroup ... \endgroup
。\begingroup \setbox0=\vbox{% \hsize=4in \parindent=0pt \hrule height.08em \kern.65ex \hfil\TeX\hfil \par \kern.4ex \hrule height.08em }% % other stuff \box0 \endgroup
我违反了我的第一个建议,
\hfil\TeX\hfil
当它放在一行上时似乎更容易阅读。
我发现遵循这两个“规则”使得我自己的代码相当容易阅读。