Estoy usando TeXShop y el script pdflatexmk. Cuando vinculo al menos una entrada del glosario con \gls{label}
el glosario se compila bien y todo funciona bien (ejemplo de código de trabajo). Sin embargo, quiero usar el \glsaddall
comando de manera que no tenga que vincularlo a todas las entradas del glosario. Desafortunadamente, pdflatexmk ignora esta opción (ejemplo de código que funciona mal). ¿Porque hace eso?
Sé que puedo ejecutar el comando makeglossaries en la terminal, pero prefiero que funcione con pdflatexmk. ¿Como puedo resolver esto? ¿Existe un script pdflatexmk más nuevo que solucione este problema?
A continuación se muestra un ejemplo práctico.
Código de trabajo: mencionar al menos un elemento del glosario con \gls{label}:
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one mentioning the glossary item \gls{One}
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two mentioning the glossary item \gls{Open}
\end{document}
Código de mal funcionamiento: usar \glsaddall para imprimir entradas sin mencionar
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two NOT mentioning the glossary item
\end{document}
Respuesta1
Mover las definiciones de entradas del glosarioantesemitiendo \glsaddall
y asegúrese de quelatexmk
sepa cómo manejar los glosarios. Hay unarchivo de ejemploen el paquete que muestra lo que debe agregar a su ~/.latexmkrc
archivo de configuración.
Considerándolo todo,
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\newglossaryentry{One}
{name=One, description={First number after zero}}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
Body text for chapter two NOT mentioning the glossary item
\end{document}
y
add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
sub makeglo2gls {
system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
}
o
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
sub makeglossaries {
system( "makeglossaries \"$_[0]\"" );
}
en ~/.latexmkrc
resuelve su problema.