頭字語はテキスト内でハイフンで区切られません

頭字語はテキスト内でハイフンで区切られません

私はLualatex (バージョン ) で最新バージョンのacronym( ) を使用していますが、6 つの単語からなる長い頭字語が正しくハイフンで区切られていません。略語リストでは正しくハイフンで区切られているにもかかわらず、パッケージにはテキストの最初の単語にハイフン区切りのオプションがないことが示されています。acronym 2010/09/08 v1.36beta-0.70.2-2012060719showhyphens

LaTeX-Community.org: 頭字語パッケージとハイフネーション解決策を示し、 GoLaTeX: ハイフネーション mit パッケージの頭字語 (ドイツ語) もう 1 つありますが、残念ながら、どちらも私には機能しません。

他に解決策はありますか? または、同様の問題に遭遇した (そして解決した) 人はいますか?

編集: MWE を用意しました。ただし、これはかなりわかりにくいバグです。そのため、テキストを、過剰な hbox が表示されないため、これ以上パッケージ/テキストを削除できないところまで削減しました。それでも、これが問題の解決に役立つことを願っています。

\documentclass[DIV=calc,fontsize=12pt,titlepage=false]{scrartcl}

\usepackage{showhyphens}
\usepackage{fontspec}
\usepackage{microtype}
\newfontfeature{Microtype}{protrusion=default;expansion=false}
\setmainfont[Microtype]{Linux Libertine O}
\usepackage[ngerman,british]{babel}

\usepackage[smaller,printonlyused,withpage]{acronym}
\usepackage{bookmark}
\usepackage{booktabs}

\begin{document}
\hyphenation{Mi-ni-a-tur-netz-wer-ke}
Invertebrate neurons are larger than their vertebrate counterparts, which makes it easier to handle them.
This text is part of an interdisciplinary project: \ac{MIMU}.
\section*{List of abbreviations}
\begin{acronym}[MIMU]
\acro{MIMU}{Miniaturnetzwerke aus Insektenneuronen in multilateralen Umgebungen}
\end{acronym}
\end{document}

MWE はテキストと略語リストに対して次の出力を生成します。

  • 1: テキスト内のhboxがいっぱい
  • 2: 同じ単語(Miniaturenetzwerke)が正しくハイフンで区切られている ここに画像の説明を入力してください ここに画像の説明を入力してください

答え1

パッケージは、頭字語の最初の言及の前に何かを置いているようですacronym(ラベルを作成するためにファイルに書き込むコードの一部。これ以上分析していません)。これにより、頭字語テキストの最初の単語のハイフネーションが事実上禁止されます。

プリアンブルを次のように変更すると、問題のあるコマンドが修正され、ハイフネーションが再確立されます。奇妙な修正パターンで申し訳ありませんが、\patchcmd常に最初の出現のみが置き換えられるようです (ただし、 の場合は 2 つあります\AC@acl)。

\usepackage{etoolbox}

\makeatletter
\patchcmd\@acf{\AC@acl}{\AC@foo}{}{}
\patchcmd\@acf{\AC@acl}{\AC@foo}{}{}
\patchcmd\@acf{\AC@foo}{\hskip\z@\AC@acl}{}{}
\patchcmd\@acf{\AC@foo}{\hskip\z@\AC@acl}{}{}
\makeatother

\begin{document}

出力例

egregs のアドバイスも考慮してください: ドイツ語のテキストを適切にドイツ語としてマークすると、ハイフネーションが改善されます。

答え2

頭字語がドイツ語であることを明記する必要があります。

\documentclass[DIV=calc,fontsize=12pt,titlepage=false]{scrartcl}

\usepackage{showhyphens}
\usepackage[ngerman,british]{babel}

\usepackage[smaller,printonlyused,withpage]{acronym}
\usepackage{hyperref,bookmark}

\begin{document}

Invertebrate neurons are larger than their vertebrate counterparts, which makes it easier to handle them.
This text is part of an interdisciplinary project: \ac{MIMU}.
\section*{List of abbreviations}
\begin{acronym}[MIMU]
\acro{MIMU}{\foreignlanguage{ngerman}{Mi"-niaturnetzwerke aus Insektenneuronen in multilateralen Umgebungen}}
\end{acronym}
\end{document}

最初の単語をハイフンで区切ることができない理由は正確にはわかりませんが、適切なハイフン区切りポイントを追加すると回避策になるようです。

関連情報