假设我们希望排版
信息序列图 (MSC)
我们将此短语解释为(计算机科学)术语,后跟括号中的缩写。此外,我们将术语“消息序列图”解释为“消息序列图”。因此,如果有必要,我们希望换行符的选择如下:
消息 [第二选择] 序列 [第三选择] 图表 [主要选择] (MSC)
当然,换行符的四元选择是在单词内部的。现在,我们如何将我们的选择告诉 LaTeX?我在想
message\penalty-1\ sequence chart\penalty-2\ (MSC)
或者
message sequence\penalty1\ chart\penalty-1\ (MSC)
或者
message\penalty1\ sequence\penalty2\ chart (MSC)
应该是哪一个?空白处是\
合适的空间吗?或者我们应该说\hskip<whatever> plus<whatever> minus<whatever>
,如果是的话,用哪个数字?
此外,如果这个句子就在“信息”之前开始,我们的愿望显然是
[主要选择] 消息 [第三选择] 序列 [第四选择] 图表 [第二选择] (MSC)
五元选择在单词内。在这种情况下我们如何设定惩罚?
如果句子在“(MSC)”之后立即终止,我们的愿望显然是
消息 [第三选择] 序列 [第四选择] 图表 [第二选择] (MSC)。[第一选择]
五元选择又在单词里面了。这种情况下我们如何设定惩罚?
这里有一些 MWE 供您使用:
\documentclass{article}
\pagestyle{empty}
\usepackage[USenglish]{babel}
%\showoutput% I found no use of it
\begin{document}
message sequence chart (MSC)
\end{document}
我们同时使用pdflatex
和lualatex
,因此无论您做什么都应该与这两个引擎兼容。
答案1
这里有一个示例,允许您尝试不同的值。在此示例中(典型示例),除 -10000(强制中断)之外,其他值均无区别。
\documentclass{article}
\ifx\directlua\undefined
\usepackage[T1]{fontenc}
\fi
\addtolength\textheight{15\baselineskip}
\addtolength\topmargin{-5\baselineskip}
\def\qq{message\penalty\pA\ sequence chart\penalty\pB\ (MSC) }
\begin{document}
\def\qqq{
\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq
Red yellow blue.
\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq
Red yellow blue black green.
\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq
\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three \qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three \qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three \qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three four five six \qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three \qq\qq\qq\qq\qq\qq\qq\qq\qq
One two three \qq\qq\qq\qq\qq\qq\qq\qq\qq
}
\def\pA{-1}
\def\pB{-2}
\qqq
\clearpage
\def\pA{-1}
\def\pB{-9999}
\qqq
\clearpage
\def\pA{-1}
\def\pB{-10000}
\qqq
\end{document}