如何自动用短破折号(-)替换连字符(-)?

如何自动用短破折号(-)替换连字符(-)?

我希望以这样的方式设置我的 LaTeX(XeTeX)文档,以便我可以输入连字符(-,键盘上的连字符),并且它将在生成的文档中被替换为短破折号(,即“较长”的破折号)。

例如,对于 LaTeX 源:

Lietuvos intelektualai - prieš liberaliąją demokratiją? % "Usual" dash typed

我想在渲染中获得短划线(“长”划线):

立陶宛的智力——自由民主比什么更重要?

而不是通常的连字符(“短”破折号):

立陶宛的智力--自由民主主义的体现是什么?

我知道可以通过输入两个连字符 ( --) 而不是一个连字符 ( -) 来实现这一点,但是有没有更好的方法呢?

(由于我排版的文档的性质和我使用的语言的要求,98% 的情况下我都需要输入一个短破折号,偶尔可能需要使用“通常”的连字符)。

答案1

找到了 XeTeX 的解决方法:

\usepackage{ifxetex}

\ifxetex
    \usepackage{xesearch}
    \UndoBoundary{-}
    \SearchList{dash}{--}{-}
\else
    \typeout{Well, too bad.}
\fi

另外,请注意原始问题下的评论,讨论为什么自动替换并不总是一个好主意。

相关内容