用双/三破折号连接的单词的连字符

用双/三破折号连接的单词的连字符

我无法用连字符连接这些单词

Cam•bri•an--Or•do•vi•cian

因为它们是用尾号连接的。使用破折号时也可能会发生同样的情况。

我试过这个

 \defineshorthand{"=}{\penalty1000-\hskip0pt}
 \hyphenation{Cambrian"="=Ordovician}

但我显然不懂这个速记的东西。

答案1

\defineshorthand{"|}{\penalty1000--\hskip0pt}可以在 中工作Cambrian"|Ordovician,但是正如 David 所说,在 中则不行\hyphenation;每次输入这样的词时,都必须使用简写。

另外,根据您的语言的印刷传统,您可能实际上想说以下内容:

\defineshorthand{"|}{\penalty1000\discretionary{--}{}{--}\penalty10000\hskip0pt}

该命令\discretionary接受 3 个参数,如果该位置没有发生换行,则进行排版,如果该位置发生换行,则#3进行排版。#1<end-of-line>#2

完整的例子展示了不同的中断变体:

在此处输入图片描述

\documentclass{article}

\pagestyle{empty}

\usepackage[ngerman,english]{babel}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}
\defineshorthand{"|}{\penalty1000\discretionary{--}{}{--}\penalty10000\hskip0pt}

\begin{document}

\begin{tabular}{p{4cm}p{3.5cm}p{3cm}}
Hellohello Cambrian"|Ordovician World text text text text text text text
&
Hellohello Cambrian"|Ordovician World text text text text text text text
&
Hellohello Cambrian"|Ordovician World text text text text text text text
\end{tabular}

\end{document}

相关内容