复合词的自动连字

复合词的自动连字

当我学习使用打字机时(就在我的宠物剑齿虎死后不久),我养成了在拆分复合词时使用双连字符的习惯,因此:

该系统具有高性能
组件

我读了babel:将德语简写添加到英语作为主要文档语言以及 Stefan 的回答用英文写作的时候加载babel有什么好处?,并认为这可以解决问题:

\documentclass[draft]{article}
\usepackage[ngerman,british]{babel}
\useshorthands{"}
\addto\extrasbritish{\languageshorthands{ngerman}}
\selectlanguage{british}
\begin{document}
\noindent
Normal hyphenation, to illustrate:\\ 
\begin{minipage}{80pt}
Lala High"=performance.
\end{minipage}
\\[2pc]
\begin{minipage}{80pt}
Lalala lalala High"=performance.
\end{minipage}
\\[2pc]
My best guess:\\
\begin{minipage}{80pt}
Lala High"="~performance.
\end{minipage}
\\[2pc]
\begin{minipage}{80pt}
Lalala lalala High"="~performance.
\end{minipage}
\end{document}

看起来该序列"="~接近我想要的,但它抑制了各部分的连字符。

我已经花了大约两个小时尝试各种组合,但由于我不太明白自己在做什么,所以我觉得最好在这里问一个真正知道

当然,我可以使用该\discretionary命令,但我希望它是自动的。

顺便说一句,欢迎对印刷错误提出批评(例如“不要“那!”),但我还是想知道,即使只是出于好奇。

答案1

\useshorthands{"}
\makeatletter
\declare@shorthand{ngerman}{";}{\discretionary{-}{-}{-}\bbl@allowhyphens}
\makeatother
\addto\extrasbritish{\languageshorthands{ngerman}}

现在";(如果愿意,可以选择另一种简写)将完成您要查找的操作:

\begin{minipage}{80pt}
Lalala lalala High";performance.
\end{minipage}

将排版为

啦啦啦啦啦 高性能

\begin{minipage}{80pt}
Lala High";performance.
\end{minipage}

将排版为

Lala 高性能

不要这样做。 :)

相关内容