缩写词在文本中未使用连字符

缩写词在文本中未使用连字符

我正在使用最新版本的acronym( acronym 2010/09/08 v1.36) 和 Lualatex (版本beta-0.70.2-2012060719),并且有一个由六个单词组成的长缩写词,该缩写词未正确连字。软件包showhyphens显示文本中的第一个单词没有连字选项,尽管它在缩写列表中已正确连字。

LaTeX-Community.org:缩写包和连字符显示解决方案 GoLaTeX:连字符 mit 包缩写(德语) 但不幸的是,它们两个都不适合我。

还有其他解决方案吗?或者有人遇到(并解决)过类似的问题吗?

编辑:我准备了一个 MWE。然而,这是一个相当难以捉摸的错误。因此,我精简了文本,以至于我无法再删除任何包/文本,因为溢出的水平框不会显示。不过,我希望它有助于澄清我的问题。

\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:文本中的水平盒子过满
  • 2:同一个单词(Miniaturnetzwerke)正确使用连字符 在此处输入图片描述 在此处输入图片描述

答案1

看起来该acronym包将一些内容放在了第一次提到的首字母缩略词前面(一些代码写入文件以制作标签;我没有进一步分析它),这实际上抑制了首字母缩略词文本的第一个单词的连字符。

以下对前言的更改将修补错误的命令,以便重新建立连字。抱歉,修补模式很奇怪,但\patchcmd似乎总是只替换第一个出现的情况(但 有两个\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}

我不知道为什么第一个单词不能用连字符连接;不过,添加合适的连字符点似乎是一种解决方法。

相关内容