Estou usando a versão mais recente de acronym
( acronym 2010/09/08 v1.36
) com Lualatex (Version beta-0.70.2-2012060719
) e tenho um acrônimo longo que consiste em seis palavras que não estão hifenizadas corretamente. O pacote showhyphens
mostra que a primeira das palavras do texto não possui opções de hifenização, embora esteja hifenizada corretamente na lista de abreviações.
LaTeX-Community.org: pacote de siglas e hifenizaçãomostra uma solução e GoLaTeX: hifenização com sigla do pacote (alemão) outro, mas, infelizmente, ambos não funcionam para mim.
Existe alguma outra solução ou alguém encontrou (e resolveu) um problema semelhante?
Editar: eu preparei um MWE. É, no entanto, um bug bastante evasivo. Portanto, reduzi o texto a um ponto em que não consegui remover mais nenhum pacote/texto porque o hbox cheio não seria exibido. Espero que ajude a esclarecer meu problema.
\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}
O MWE me fornece a seguinte saída para lista de texto e abreviações:
- 1: hbox cheio demais no texto
- 2: A mesma palavra (Miniaturnetzwerke) está hifenizada corretamente
Responder1
Parece que o acronym
pacote está colocando coisas antes da primeira menção de um acrônimo (algum código escrito em arquivo para fazer um rótulo; não analisei mais) o que na verdade inibe a hifenização da primeira palavra do texto do acrônimo.
A seguinte alteração no preâmbulo corrigirá o comando defeituoso para que a hifenização seja restabelecida. Desculpe pelo estranho padrão de patch, mas \patchcmd
parece sempre substituir apenas a primeira ocorrência (mas há duas para \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}
Considere também o conselho do egregs: você obterá uma hifenização melhor do texto em alemão se marcá-lo corretamente como alemão.
Responder2
Você deve informar que a sigla está em alemão:
\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}
Não sei exatamente por que a primeira palavra não pode ser hifenizada; no entanto, adicionar um ponto de hifenização adequado parece ser uma solução alternativa.