当单词包含句号时,Babel 无法进行连字符连接

当单词包含句号时,Babel 无法进行连字符连接

babel可以连字符disputas

\documentclass{article}
\usepackage[nynorsk]{babel}
\begin{document}
\parbox{0pt}{\hspace{0pt}disputas}
\end{document}

在此处输入图片描述

但当单词中包含句点时,它就会失败:

\documentclass{article}
\usepackage[nynorsk]{babel}
\begin{document}
\parbox{0pt}{\hspace{0pt}Dr.-disputas}
\end{document}

在此处输入图片描述

为什么?我该如何解决?

答案1

Dr.-disputas和的情况Dr.disputas完全不同。显式连字符使 TeX 仅在其处断开块,而忽略其余单词部分的连字符模式。

对于babel挪威语或新挪威语,您可以使用"-允许连字符过去的连字符。

Dr.disputas考虑时,连字符的一般规则进入:它在 TeXbook 第 254 页第二个双重危险段落中进行了解释。

TeX 通过从每个不在数学公式中的粘合项向前搜索来查找可能可连字符的单词。搜索会绕过\lccode为零的字符,或以此类字符开头的连字符;它还会绕过 whatsits 和隐含的紧邻项,即 TeX 自身根据字体存储的信息插入的字距。如果搜索到的字符带有非零\lccode,或者找到以这样的字符开头的连字符,则该字符称为起始字母。但如果在找到合适的起始字母之前出现任何其他类型的项目,则连字将被放弃(直到下一个粘合项目之后)。

那么D起始字母并尝试使用连字符Dr,因为句点的零\lccode结束了尝试的单词;当然Dr不能使用连字符。没有粘连符,所以.disputas不适合使用连字符。事实上,

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[nynorsk]{babel}

\begin{document}

\parbox{0pt}{
  \hspace{0pt}disputas.disputas
}

\end{document}

给出

在此处输入图片描述

""在这种情况下,您可以使用简写:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[nynorsk]{babel}

\begin{document}

\parbox{0pt}{
  \hspace{0pt}disputas.""disputas
}

\end{document}

会给

在此处输入图片描述

答案2

如果您想在已经有连字符的单词中使用连字符,您可以在您的语言中使用连字符(因为我可以在德语中做到这一点)"=

\documentclass{article}
\usepackage[nynorsk]{babel}

\begin{document}
\parbox{0pt}{Dr."=disputas}
\end{document}

在此处输入图片描述

答案3

如果您可以选择使用 LuaLaTeX,您可以尝试以下代码:

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage[nynorsk]{babel}
\begin{document}
\parbox{0pt}{Dr.-\hspace{0pt}disputas}
\end{document}

请注意,Lua(La)TeX 不存在 pdf(La)TeX 和 Xe(La)TeX 所存在的无法对段落的第一个单词进行连字符连接这一众所周知的问题。

相关内容