遵循良好实践的技术和软件包

遵循良好实践的技术和软件包

问题

有哪些技术和方案可以跟上良好的实践?

我已经知道

我已经知道以下可用于此类目的的软件包:

\RequirePackage[l2tabu,orthodox]{nag}% Old habits die hard. All the same, there are
                                     % commands, classes and packages which are 
                                     % outdated and superseded. nag provides routines
                                     % to warn the user about the use of those.
\usepackage{fixltx2e}
\usepackage[all,error]{onlyamsmath}  % Error on deprecated math commands like $$ $$.

我还知道使用\( \)代替$ $\[ \]代替$$ $$(如在\(和是否\)比 更可取$)并且它csquotes有一个严格模式,可以将警告转为错误:

\usepackage[strict=true]{csquotes}

我意识到,内容比外观和技术更重要。因此,使用可以让你专注于内容并尽可能自动化的软件包和工具是一种很好的做法,例如自动编译latexmk

答案1

一般提示

  1. 使用尽可能少的包,
  2. 按特定顺序调用包,
  3. 使用多个小文档而不是一个大文档,
  4. 评论你的代码,
  5. 编写可读的代码,
  6. 注重内容,而不是外表。

对一般提示进行一些解释

  1. 这是因为软件包容易发生冲突并且过时。(见如何跟上软件包并知道哪些已经过时了?
  2. 有些包需要(或建议)在其他包之前/之后调用。有些必须在最后调用,有些则在最前面调用。(请参阅需要包含在特定订单中的包裹
  3. 这意味着使用\include{}and/or\input{}命令将所有小部分(章节、节等)组合成一个连续的文档。(参见何时应使用 \input 和 \include?)。[这一点的理由是让主文档中的代码保持简洁(规则 5)。然后,您可以专注于文档每个部分的内容(规则 6)。]这一点的好处是,您可以 设置路径中 .tex 文件中的所有文档中使用的快捷命令,然后将\input其放在任何/所有文档的序言中. 这会使非常大的文档在阅读主文档的初始阶段看起来非常短,就像一篇短文一样mwe

  4. 如果忘记了特定代码块的作用,阅读注释将以最快的方式提供帮助。

  5. 这意味着短行、适当的行缩进、用于\newcommand定义重复数学表达式的(助记符)命令等。
  6. 少抄袭,多思考,写出有主题的东西。光有外表没有内容,毫无意义。

可能还有其他事情...

答案2

  • 编程
    • fixltx2e是必不可少的
    • etoolbox提供了一些只能通过破解 LaTeX 内核或使用内部宏才能获得的功能。它还提供了一些有用的文档和环境钩子
    • xspace是一个很小但很有用的宏,用于定义面向文本的宏
    • geometrytypearea等,只使用其中一种。同样的原则适用于titlesecfancyhdr等。原则上,避免同时使用提供类似功能的软件包,尤其是当其中一个软件包破解了 LaTeX 内核时。只使用其中最好的(无论如何对你来说“最好”)。
  • 排版
    • booktabs这对于专业的表格来说是必不可少的。还要避免使用垂直线。事实上,你永远不应该使用垂直线,并限制使用水平线
    • 对于排版考虑,一致性远比细节重要。例如,如果您使用\begin{tabularx}{\textwidth}{...}...,则应在任何地方使用它。让所有故事都具有相同的感觉。
    • 图形,无论是通过外部软件还是使用 等软件包tikz,都可以生成具有预期大小的图形。尽量避免使用\includegraphics[scale=...]
    • 适当时使用\DeclareMathOperator,不适当时使用\mathrm
    • 谨慎使用颜色,再次强调,一致性比花哨性更重要。定义几种颜色并坚持使用它们。
    • 使用不同的粗细、不同的大小、不同的形状、不同的字体系列来呈现不同的内容。但只能使用其中一种。例如,不要将粗体大号无衬线字体用作标题,而应使用粗体、大号字体或无衬线字体,或使用简单的大写正文字体。
    • 最后同样重要的一点是,“只要你知道规则,每个印刷规则都可以被打破”。

答案3

  • 正在加载strict包阻止使用 LaTeX 的声明作为环境。

  • 正在加载fixltx2e该软件包修复了一些 LaTeX2e 错误。

  • fixmath更改 LaTeX 的默认数学样式以符合某些国际标准,特别是有关希腊字母的标准,请参阅包装说明。

  • 有许多软件包可以改善 LaTeX 的标准行为,例如setspacebooktabs,以及支持排版要求/样式和质量的软件包,例如siunitxmicrotype,因此,与 LaTeX 标准功能相比,优先选择它们将是最佳做法。推荐的软件包可以在这里找到:人们在 LaTeX 中默认加载哪些包

答案4

refcheck用于检查“文档中的参考文献,查找编号但未标记的方程式、文本中未使用的标签、未使用的参考书目”。

注意:refcheck目前不兼容cleveref。请参阅此问题

相关内容