一致的字体

一致的字体

在处理大型文档,甚至跨多个(较小)文档时,我经常发现我忘记应该坚持哪些印刷一致性。

由于 TeX 的工作方式具有内在一致性,因此大多数内容在用户不知情的情况下保持井然有序。此外,使用自定义的文档类(如memoir)或包(如xspacetitlesec(仅举两个例子)通过用户的选择提高了这种一致性。但是,有时,您只能依靠自己的设备手动完成任务。当然,后者也可能是因为您不知道有包可以为您完成任务,或者是因为您希望对某些东西的放置/使用有更多控制权,而不是自动或全局设置。

从这个程度上来说,我认为这里是一个提出这个问题的好地方:“您使用哪些工具/技术来保持文档的一致性?”

当然,这个问题听起来很宽泛。许多答案散布在本网站和其他地方(例如芝加哥格式手册或 Bringhurst 的印刷风格的元素)。我希望将这个多样化的知识库集中在 TeX.SX 的一个位置(类似于展示使用 TeX 和朋友制作的精美排版LaTeX IDE)。

以下是一些有用的(手动)提示/技巧的示例:

  • TeX Book 提到(第 25 页)使用关系~)在 Thor 的“A SHORT STORY”上下文中排版时Mr.~Drofnats

    优秀的打字员会在名字中使用连字符......

  • \emph 或 \textit\emph提供了何时/为何使用或 的很好示例\textit

  • 的内容排版文档时的注意事项有一些非常相关的一致性手动应用,包括:

    • 在参考文献或引文前加上波浪号,例如Jie~\cite{habit06}
    • 区分文本逗号和数学逗号,例如,输入for $x=a$, $b$, or~$c$而不是for $x=a,b$, or $c$
    • \ldots用三个点代替省略号。
  • l2tabu文档还提供了一份有趣的“应该做和不该做的事情”清单。

还有吗?

答案1

定义常见结构的命令;例如,即使关键字将用 排版\textsf,最好也定义

\newcommand\keyword{\textsf}

并使用\keyword{mykey}。这不仅在编写和阅读 TeX 文档时添加了视觉线索,而且可以在任何地方一次性更改印刷方面。

类似地,定义通用逻辑单元的环境可能值得特殊的印刷处理。

在最终修订(通常结果并不十分确定)期间使用的内容周围添加结构化注释。一般情况下,请自由使用\enlargethispage注释。\pagebreak

答案2

对于省略号,不仅要使用\ldots,还要加载ellipsis包装。包装说明:

这是一个简单的包,它解决了 LaTeX 处理省略号时的一个问题:在文本模式下,它总是在省略号后面放置比前面多一点点的空间\dots,这导致省略号在两个单词之间使用时偏离中心。

\documentclass{article}

% \usepackage{ellipsis}% Remove comment sign and compare

\begin{document}

\Huge

Some text \ldots\ and some more.

\end{document}

注意ellipsis必须加载 hyperref. (ellipsis文档中没有提到这一点,但hyperref 自述文件做。)

答案3

在间距方面,有些情况下作者必须做出TeX/LaTeX意识到例外。请区分“句号”和“缩写后的句号”,如以下示例所示:

I like BASIC\@. What about you?

即使前面的字符是大写字母,也会强制\@执行句末句号,它不是首字母缩略词的一部分。此外,当给出数量时,我通常会在数字和单位之间设置一个固定的空格,例如:

switching frequency of 1\ MHz

\插入正常的字间空格。

答案4

还有如下问题:

在捷克语排版中,单字母介词和连词(v、s、z、k、o、u、a、i)不应位于行尾。波浪符号由encxvlna由 Zdeněk Wagner 和 Petr Olšák 开发的软件包。需要 encTeX 扩展。

同样,在捷克语排版中,对于包含连字符的单词,理想的做法是在连字符处换行,但在这种情况下,连字符应该在下一行重复。为此,需要一个实现该逻辑的宏(它存在于新版本的 babel 包中,并且还有它"=的简写)。但您仍然必须在特定位置手动写入"=而不是-

我的观点是,据我所知,对于这样的问题没有好的解决方案。要么必须手动在文本中添加额外的标记,要么使用专门的 TeX magic,但(至少对我来说)它不够灵活。最后一个也是我最喜欢的选择是编写一个预处理器并建立额外的抽象级别。然而,这并不简单,而且很耗时。

相关内容