Estoy usando la última versión de acronym
( acronym 2010/09/08 v1.36
) con Lualatex (Versión beta-0.70.2-2012060719
) y tengo un acrónimo largo que consta de seis palabras y que no está separado con guiones correctamente. El paquete showhyphens
muestra que la primera de las palabras del texto no tiene opciones de separación de palabras, aunque está dividida correctamente en la lista de abreviaturas.
LaTeX-Community.org: paquete de siglas y separación de palabrasmuestra una solución y GoLaTeX: separación de palabras con acrónimo del paquete (alemán) otro pero lamentablemente ninguno de los dos me funciona.
¿Existe alguna otra solución o alguien ha encontrado (y resuelto) un problema similar?
Editar: he preparado un MWE. Sin embargo, se trata de un error bastante esquivo. Por lo tanto, eliminé el texto hasta un punto en el que no pude eliminar más paquetes/texto porque no se mostraba el hbox demasiado lleno. Sin embargo, espero que ayude a aclarar mi 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}
El MWE me da el siguiente resultado para texto y lista de abreviaturas:
- 1: hbox demasiado lleno en el texto
- 2: La misma palabra (Miniaturnetzwerke) está dividida correctamente
Respuesta1
Parece que el acronym
paquete está poniendo cosas delante de la primera mención de un acrónimo (algo de código escrito en un archivo para crear una etiqueta; no lo analicé más a fondo), lo que de hecho inhibe la separación de palabras de la primera palabra del texto del acrónimo.
El siguiente cambio del preámbulo parcheará el comando defectuoso para que se restablezca la separación de palabras. Perdón por el extraño patrón de parcheo, pero \patchcmd
parece que siempre reemplaza solo la primera aparición (pero hay dos 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 también el consejo de egregs: obtendrá una mejor separación de palabras del texto en alemán si lo marca correctamente como alemán.
Respuesta2
Debe indicar que la sigla está en idioma alemán:
\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}
No sé exactamente por qué no se puede dividir la primera palabra con un guión; sin embargo, agregar un punto de separación de palabras adecuado parece ser una solución alternativa.