短语中某些单词之间的换行相对优先级

短语中某些单词之间的换行相对优先级

假设我们希望排版

信息序列图 (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}

我们同时使用pdflatexlualatex,因此无论您做什么都应该与这两个引擎兼容。

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

相关内容