pdflatexmk compila \glossários bem, mas negligencia \glsaddall

pdflatexmk compila \glossários bem, mas negligencia \glsaddall

Estou usando o TeXShop e o script pdflatexmk. Quando vinculo pelo menos uma entrada do glossário ao \gls{label}glossário, compila bem e tudo funciona bem (exemplo de código funcional). No entanto, quero usar o \glsaddallcomando de forma que não precise vincular a todas as entradas do glossário. Infelizmente, o pdflatexmk negligencia esta opção (exemplo de código com defeito). Por que ele faz isso?

Eu sei que posso executar o comando makeglossaries no terminal, mas prefiro que funcione com pdflatexmk. Como posso resolver isso? Existe um script pdflatexmk mais recente que resolva esse problema?

Um exemplo prático é mostrado abaixo.

Código de trabalho: mencionar pelo menos um item do glossário com \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 com defeito: usando \glsaddall para imprimir entradas sem menção

% !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}

Responder1

Mover as definições de entrada do glossárioantesemissão \glsaddalle certifique-se de que latexmksabe lidar com glossários. Há umarquivo de exemplono pacote que mostra o que você deve adicionar ao seu ~/.latexmkrcarquivo de configuração.

Contudo,

\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}

e

add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
sub makeglo2gls {
    system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
}

ou

add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
sub makeglossaries {
   system( "makeglossaries \"$_[0]\"" );
}

em ~/.latexmkrcresolve seu problema.

informação relacionada