![如何仅对列表内的单词进行连字符连接?](https://linux22.com/image/458873/%E5%A6%82%E4%BD%95%E4%BB%85%E5%AF%B9%E5%88%97%E8%A1%A8%E5%86%85%E7%9A%84%E5%8D%95%E8%AF%8D%E8%BF%9B%E8%A1%8C%E8%BF%9E%E5%AD%97%E7%AC%A6%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我想阻止 TeX 进行自动连字,除非在给定的连字词列表中找到可以连字的单词,如下所示:
\hyphenation{
be-rufen
be-unruhigten
Er-zieher
geschicht-lichen
Künstler-hand
meister-haft
Meister-haft
Mittel-meer
Vergangen-heit
Vor-geschichte
Vor-stellung
Vor-stellungen
wissen-schaftliche
zu-getragen
}
\hyphenpenalty=10000
完全阻止连字,这是我不想要的。不加载babel
不会阻止连字,反而会使连字更糟。我想实现一个手动解决方案(仅 LuaTeX 也可以)。
答案1
下面的操作正是您想要的:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[hyphenmap=off]{babel}
\hyphenation{
be-rufen
be-unruhigten
Er-zieher
geschicht-lichen
Künstler-hand
meister-haft
Meister-haft
Mittel-meer
Vergangen-heit
Vor-geschichte
Vor-stellung
Vor-stellungen
wissen-schaftliche
zu-getragen
}
\usepackage{kantlipsum}
\begin{document}
berufen
beunruhigten
Erzieher
geschichtlichen
Künstlerhand
meisterhaft
Meisterhaft
Mittelmeer
Vergangenheit
Vorgeschichte
Vorstellung
Vorstellungen
wissenschaftliche
zugetragen
\kant
\end{document}
答案2
根据手册中的解释babel
,要抑制连字符,你可以这样写:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\babelprovide[hyphenrules=+]{ngerman}
然后加:
\babelhyphenation{
be-rufen
be-unruhigten
Er-zieher
geschicht-lichen
Künstler-hand
meister-haft
Meister-haft
Mittel-meer
Vergangen-heit
Vor-geschichte
Vor-stellung
Vor-stellungen
wissen-schaftliche
zu-getragen
}
您仍然可以使用语言功能(翻译、日期、简写等),但会创建一个新的空连字模式集,由于它是空的,所以没有连字符,当然, 中的连字符除外\babelhyphenation
。luatex
您甚至可以添加带有 的模式(这在或\babelpatterns
中是不可能实现的)。pdftex
xetex