Hoy me pasó lo más raro:
Estaba buscando una manera de vincular una abreviatura a una entrada del glosario y encontréesta respuesta. Al emularlo en mi código, no funcionó; pdflatex
ignoraría el see
atributo.
Trasteando, descubrí que esto sólo sucede cuando el glossaries
paquete está incluido con el nonumberlist
atributo, algo que no debería tener influencia alguna en los enlaces.
Ejemplo de código mínimo:
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist, acronym]{glossaries}
\makeglossaries
%%% define the acronym and use the see= option
\newglossaryentry{css}{type=\acronymtype, name={CSS}, description={Cascading Style Sheets}, first={Cascading Style Sheets (CSS)}, see=[Glossary:]{cssg}}
\newglossaryentry{cssg}{name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents.}}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}
¿Cómo puedo arreglar esto? ¿Y por qué sucede esto?
Respuesta1
Este es un comportamiento documentado. Citando deel manual:
lista sin númerosEsta opción suprimirá las listas de números asociados en los glosarios (consulte también la Sección 5).
ver lista de números de autoSi suprime las listas de números conlista sin números, descrito anteriormente, esto también suprimirá cualquier información de referencia cruzada proporcionada por la clave ver en
\newglossaryentry
o\glssee
. Si utilizaver lista de números de auto, la clave Ver se implementará automáticamentenonumberlist=false
para esa entrada. (Tenga en cuenta que esto no afecta\glssee
). Para obtener más detalles, consulte la Sección 8.
Entonces una posible solución es establecer también seeautonumberlist
. Esto puede tener el efecto no deseado de que la entrada del acrónimo ahora obtenga el número de página que deseaba evitar nonumberlist
en primer lugar:
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist,seeautonumberlist,acronym]{glossaries}
\makeglossaries
%%% define the acronym and use the see= option
\newglossaryentry{css}{
type=\acronymtype,
name={CSS},
description={Cascading Style Sheets},
first={Cascading Style Sheets (CSS)},
see=[Glossary:]{cssg}
}
\newglossaryentry{cssg}{
name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents}
}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}
Una alternativa es agregar la referencia manualmente a la descripción del acrónimo. De esta manera tampoco obtendrás el número de página en la entrada del acrónimo:
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist,acronym]{glossaries}
\makeglossaries
%%% define the acronym
\newglossaryentry{css}{
type=\acronymtype,
name={CSS},
description={Cascading Style Sheets. \textit{Glossary:} \gls{cssg}},
first={Cascading Style Sheets (CSS)}
}
\newglossaryentry{cssg}{
name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents}
}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}