Xindy 和德语 babel 简写“-”、“=”等

Xindy 和德语 babel 简写“-”、“=”等

我正在使用 XeLaTeX、imakeidx 和 xindy,我想在索引条目中使用诸如"-and之类的简写(软连字符和硬连字符允许在组成词内进行连字符连接,来自)。我想我需要在我的本地 xindy 样式文件中添加一些内容,但我不知道该添加什么。"=[ngerman]babel

索引是食谱中的食谱列表,食谱名称是自动添加的,它们包含像这样的表达式Wirsing"=Kartoffel"=Bett,xindy 会将其转换Wirsing=Kartoffel=Bett为 而不是Wirsing-Kartoffel-Bett在连字符处有断点,并且可能使用连字符Wir-singKar-tof-fel。当我在食谱名称中说时,Wirsing-Kartoffel-Bett它会变成一个非常长的不可断开的复合词,这会严重扰乱正确的换行。

因此,xindy 会丢失双引号,并保留其余的简写字符对。然而,我希望 xindy 做的是在排序时忽略简写字符,并在写入文件时将它们放回原处.ind

答案1

作为一种解决方法,我定义了新的命令(而不是简写),如下所示:

    \newcommand{\HH}{\penalty1000-\hspace{0pt}}

并说Wirsing\HH Kartoffel\HH Bett。虽然不漂亮也不优雅,但确实管用。

编辑:现在我很高兴使用 TeXLive 2013 而不是 2011(我的编辑器仍然指向旧目录),我也可以写

    \newcommand{\HH}{\babelhyphen{hard}}

这稍微好一点,或者我可以用以下方式定义我自己的 babel 简写

    \defineshorthand{...}{...}

并使用不被 xindy 吞噬的字符。

编辑:显然,使用|=简写不起作用。整个条目将从索引中消失。

相关内容