LaTeX:连字符*规则*是否可行(而不仅仅是单词列表)?

LaTeX:连字符*规则*是否可行(而不仅仅是单词列表)?

在我的文档中,LaTeX 喜欢用连字符连接德语“法布劳姆“(色彩空间)为”法尔布劳姆“ (代替 ”空间“)。

所以我添加了\hyphenation{Farb-raum},一切看起来都很好。然而,当意识到像“Ausgabefarbraum”(输出颜色空间)这样的合成物也被连字符为“外院“,我想知道是否存在一种通用机制可以允许类似的事情\hyphenation{*-farb-raum}?或者我必须明确列出所有变体?

测试文档:

\documentclass[a4paper,twoside]{report}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage[pdftex,colorlinks]{hyperref}
\usepackage{makeidx}
\usepackage{showidx}
\makeindex
\begin{document}
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
Farbraum, Eingabefarbraum und Ausgabefarbraum
%
\end{document}

答案1

基本连字算法使用基于模式但是在经典 tex(包括 pdftex 和 xetex)中,连字符模式只能加载到格式中,因此要使用非标准模式集,您必须重建 latex 格式(并使您的格式与其他站点不兼容。

连字例外 旨在添加带有明确连字符点的其他单词,以帮助或推翻由指定语言的模式推断出的连字符。但正如您所见,在这种情况下,您需要给出每个单词。

Luatex 放弃了这种区别,可以在“正常”运行中加载模式,所以如果您想尝试,\patterns那么使用 luatex 会更容易,即使您最终要使用带有一组自定义模式的 pdflatex 格式。

答案2

补充David的回答,babel提供了更高的界面来添加模式luatex。例如:

\babelpatterns{gabefar4b3raum}

不同之处在于\patterns,该命令可用于调整现有的模式也是如此。有关数字的含义,请参阅TeX 的连字算法如何工作?

奇怪的是,这些词在pdftex(Eingabefar-braum) 和luatex(Eingabefarb-raum) 中的连字符不同。

答案3

这可能代价太大,但如果您愿意在文本模式下牺牲一个字符(我在这里牺牲的是|),则可以将其用作分隔符来触发连字算法重置。这样,一旦您定义了词根 的连字farb-raum,文档中任何作为较大复合词一部分出现的词根 都可以用 抵消,从而|正确重置连字。

\documentclass[a4paper,twoside]{report}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage[pdftex,colorlinks]{hyperref}
\usepackage{makeidx}
\usepackage{showidx}
\makeindex
\let\svvert|
\catcode`|=\active
\def|{\ifmmode\expandafter\svvert\else\nobreak\hspace{0pt}\-\nobreak\hspace{0pt}\fi}
\hyphenation{farb-raum}
\textwidth 0pt
\begin{document}
\parbox{3in}{
Begin:
Farbraum, Eingabe|farbraum, Ausgabe|farbraum,
und Voll|farbraum|zentrum
}
Begin:
Farbraum, Eingabe|farbraum, Ausgabe|farbraum,
und Voll|farbraum|zentrum
$a|b$
\end{document}

在此处输入图片描述

相关内容