通常,如何在德语字体中在句子中间正确排版“CAR Hoare”?

通常,如何在德语字体中在句子中间正确排版“CAR Hoare”?

鉴于“C. A. R. Hoare”是一种非常标准的方式正式地引用研究人员的话,我们如何在德语文本中做到这一点?我目前的选择是将“C. A. R.”处理为类似于首字母缩略词(参见在德语缩写中,如何设置惩罚和内部空间的宽度,包括拉伸和收缩属性?)并说

\documentclass[ngerman]{article}
\pagestyle{empty}
\usepackage[ngerman]{babel}
\newcommand{\GermanAcronymSpace}{\hskip.5\fontdimen2\font plus.5\fontdimen3\font minus.5\fontdimen4\font}%%% breakable and stretchable thin space to be used in acronyms such as “d. h.”, “z. B.”, “i. d. R.”, and “u. a.”; cf. http://tex.stackexchange.com/a/708661 .
\begin{document}
C.\penalty1\GermanAcronymSpace A.\penalty1\GermanAcronymSpace R.\@\penalty1\ Hoare%%% alternatively, … R.\penalty1\ Hoare
\end{document}

输出

当然,您可以选择标准宽度的空间并且根本不受惩罚(即,简单地说C. A. R. Hoare在 LaTeX 中),但是您可能会得到(在我看来)不必要的过多间距以及输出中的潜在危险:

      […] Geleistet wurde die Pionierarbeit von C. A.
[LaTeX decided to introduce a page break here]
R. Hoare: „Computer programming is an exact science“.

上面,读者可以想到“C. A.”的开创性作品,无论他是谁,以及一个引用“R. Hoare”一句话的单独标题。同时,如果您排版大量文本,完全禁止“C. A. R.”内的换行并不好,如果“C. A. R.”保持在一起,可能会在同一段落中遇到更严重的印刷问题(例如,框太满或其他单词的错误连字符)。

关于如何在句子中间正确排版“CAR Hoare”,有没有更好的想法(如果有,请说明理由)?或者上面的建议总体上足够好了吗?您可以考虑将惩罚项(如果有,请说明原因)或将各种\fontdimen惩罚项的 50% 更改为其他内容(如果有,请说明原因)。

答案1

我认为您永远不会想在名字的首字母后中断,因此我会使用~\,

答案2

\usepackage{xspace}
\newcommand\CARHoare{C.\,A.\,R.~Hoare\xspace}

sloppypar永远不应该使用连字符,但在某些(罕见)情况下可能需要:

\begin{sloppypar}
...  a paragraph with \CARHoare with problems in justifying the text
\end{sloppypar}

相关内容