连字符未完成 - 如何修复

连字符未完成 - 如何修复

我有以下文字

\documentclass[a4paper,11pt]{article}
\usepackage[a4paper,includeheadfoot,margin=2.54cm]{geometry} % for margins on a A4paper
\usepackage{fontspec}
\usepackage[english, ngerman]{babel}
\begin{document}
Auch wenn Ghor als eine der unterentwickelten Provinzen Afghanistans angesehen
wird (IWPR 19.1.2017; vgl. auch: Pajhwok o.D.p), haben 6.131 Frauen einen
neun-monatigen Alphabetisierungs- und Ausbildungskurse absolviert. ...

Auch wenn Ghor als eine der unterentwickelten Provinzen Afghanistans angesehen
wird (IWPR 19.1.2017; vgl. auch: Pajhwok o.D.p), haben 6.131 Frauen einen
neun-moatigen Gesäß-Muskulatur und Ausbildungskurse absolviert. ...

\end{document}

输出结果如下:

Alphabetisierung 缺少连字符

但不知何故,根据 Duden 的说法,该词Alphabetisierung无法连字符。有没有办法通过使用一些适当的软件包自动完成此操作来修复它?

由于我自动收到此内容,任何手动更改可能会在下次被覆盖。

更新更新文本

答案1

根据提示和不同的链接,我找到了解决方案,添加以下代码

\exhyphenchar -1 %required for the first paragraph
\usepackage{luacode}

%%% Lua-side code
\begin{luacode}
    function dash_to_breakable_dash ( s )
    s = unicode.utf8.gsub ( s, '(%w)"=(%a)',   '%1XYZYX%2' )
    s = unicode.utf8.gsub ( s, '(%w)%-(%a)',   '%1"=%2' ) 
    s = unicode.utf8.gsub ( s, '(%w)XYZYX(%a)', '%1-%2' )
    return s
    end
\end{luacode}

%%% TeX-side code
\newcommand\ConvertDashOn{\directlua{ 
    luatexbase.add_to_callback ( "process_input_buffer" , 
    dash_to_breakable_dash , "dash_to_breakable_dash" )}}
\newcommand\ConvertDashOff{\directlua{ 
    luatexbase.remove_from_callback ( "process_input_buffer" , 
    "dash_to_breakable_dash" )}}
\AtBeginDocument{\ConvertDashOn} 

对我来说这听起来很神奇,因为我不知道这有什么用处,因为\exhyphenchar -1没有这个,第一个段落就不能正确断开。这个命令只能Gesäß-Muskulatur错误地使用连字符。Gesä-ß-Muskulatur绝对是错的!

另一种方法"=失败了,因为我不再能-终止Alphabetiesierungs-

我不知道这是否解决方案或是否存在更简单的解决方案。至少这个在当前情况下有效。

相关内容