一般如何在德文排版中在句子中間正確排版“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.A.”的句子。霍爾」。同時,完全禁止「C.」內部的換行符。 A.R.”如果您排版大量文本,則效果不好,並且如果“C. A.R.”保持在一起(例如,盒子太滿或其他單字的連字符錯誤)。

關於如何在句子中間正確排版德語排版中的“CAR Hoare”,有什麼更好的想法(如果有,請說明理由)?或者上面的建議總體上足夠好嗎?您可能會考慮將處罰(如果是這樣,為什麼)或各種 50% 的\fontdimen處罰更改為其他內容(如果是這樣,為什麼)。

答案1

我認為你不想在名字的首字母後面中斷,所以我會使用~or \,

答案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}

相關內容