如何删除连字符后的分音符

如何删除连字符后的分音符

引用维基百科:

在荷兰语中,coëfficiënt 之类的拼写是必需的,因为二合字母 oe 和 ie 通常分别代表单元音 [u] 和 [i]。但是,现在复合词更喜欢使用连字符,因此 zeeëend(海鸭)现在拼写为 zee-eend。

因为分音符用于表示两个字母不应读作二合字母,所以当以其他方式表示时(例如,在换行符处使用连字符),应将其删除。仍有一些情况需要使用连字符来删除分音符:'financiën' 应使用连字符连接'金融-金融'

不幸的是,当使用

\usepackage{polyglossia}
\setdefaultlanguage{dutch}

单词连字符为“financi-ën”(当连字符发生在换行符处时)。 是否可以让 XeLaTeX/Polyglossia 在连字符发生时删除分音符?

Polyglossia 手册中特定于语言的选项没有提供解决此问题的方法。Babel 手册提到了\@trema宏,并且确实在使用 pdfLaTeX 和 Babel 时,financi"en在换行符处正确连字符(删除了分音符)。我确实发现这个丑陋的黑客,但我坚信一定有更好的解决方案。

答案1

如果全部ë“ë” 只是这个意思,那么一个可能的解决方法是重新定义to be的含义"e

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[dutch]{babel}
\usepackage{newunicodechar}

\makeatletter
\newunicodechar{ë}{\@trema e}
\makeatother

\begin{document}

financiën coëfficiënt zeeëend    

\parbox{0pt}{\hspace{0pt}financiën coëfficiënt zeeëend}

\end{document}

\parbox{0pt}{...}是一个让 TeX 尽可能使用连字符的技巧。

在此处输入图片描述

使用 XeLaTeX 你可以babel以相同的方式使用,只需删除对fontenc和 的调用inputenc

如果您想使用polyglossia,那么这里有一种方法:

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{dutch}
\usepackage{newunicodechar}

\makeatletter
\providecommand{\allowhyphens}{%
  \ifvmode\else\nobreak\hskip\z@skip\fi
}
\def\@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}

\newunicodechar{ë}{\@trema e}
\makeatother

\begin{document}

financiën coëfficiënt zeeëend

\parbox{0pt}{\hspace{0pt}financiën coëfficiënt zeeëend}

\end{document}

相关内容