Usando o pacote de glossários com Texmaker (executando PDFLaTex)

Usando o pacote de glossários com Texmaker (executando PDFLaTex)

Atualmente estou utilizando o acronympacote para gerar um glossário de siglas, mas gostaria de ter também um glossário de símbolos matemáticos. Portanto, estou pensando em passar para o glossariespacote. Estou tendo problemas (detalhados abaixo) de que a seção do glossário não é gerada e gostaria de saber qual a maneira mais simples de fazer isso?

Abaixo está um caso de uso simples de TRABALHO com o acronym, a partir do qual posso gerar um pdf, no mac os X, no texmaker (4.4.1) executando a opção de construção rápida;

PdfLaTex + Bib(la)tex + PdfLaTex(x2) + View Pdf

principal.tex:

\documentclass{article}
\usepackage{acronym}
\usepackage[backend=bibtex,bibencoding=ascii]{biblatex}

\addbibresource{example_bib.bib}

\begin{document}

\section{Body}

Try printing \ac{aa} and citing something.\cite{a_reference}

\section{Acronyms} 
\begin{acronym}[AAAAAAA]
\acro{aa}[AA]{An Acronym}
\end{acronym}

\printbibliography

\end{document}

exemplo_bib.bib:

  @ARTICLE{a_reference,
  author = {A, Name},
  title = {A Title},
  volume = {1},
  pages = {1--2},
  abstract = {an abstarct},
  date = {2013-06},
  doi = {10.1016/j.commatsci.2013.03.013},
  issn = {0927-0256},
  journaltitle = {Computational Materials Science},
  keywords = {Keyword},
  shortjournal = {Computational Materials Science},
  url = {http://www.sciencedirect.com},
  urldate = {2015-10-28}}

Se eu tentar adaptar o arquivo main.tex para:

\documentclass{article}
\usepackage[acronym]{glossaries}
\usepackage[backend=bibtex,bibencoding=ascii]{biblatex}

\makeglossaries
\newacronym{aa}{AA}{An Acronym} 

\addbibresource{example_bib.bib}

\begin{document}

\section{Body}

Try printing \gls{aa} and citing something.\cite{a_reference}

\printacronyms

\printbibliography

\end{document}

Ele é executado, mas NÃO há saída da seção do glossário no pdf! (a sigla está inserida no corpo do texto)

Este também é o caso se eu tentar usar termos do glossário:

\documentclass{article}
\usepackage{glossaries}
\usepackage[backend=bibtex,bibencoding=ascii]{biblatex}

\makeglossaries
\newglossaryentry{aa}{name=aa,description={A description of AA}}

\addbibresource{example_bib.bib}

\begin{document}

\section{Body}

Try printing \gls{aa} and citing something.\cite{a_reference}

\printglossaries

\printbibliography

\end{document}

Analisei uma série de perguntas aqui relacionadas a esse assunto, mas nenhuma parece fornecer uma resposta adequada.

Responder1

O método rápido e fácil é apenas adicionar a automakeopção:

\documentclass{article}

\usepackage{filecontents}
\usepackage[acronym,automake]{glossaries}
\usepackage[backend=bibtex,bibencoding=ascii]{biblatex}

\begin{filecontents*}{example_bib.bib}
@ARTICLE{a_reference,
  author = {A, Name},
  title = {A Title},
  volume = {1},
  pages = {1--2},
  abstract = {an abstarct},
  date = {2013-06},
  doi = {10.1016/j.commatsci.2013.03.013},
  issn = {0927-0256},
  journaltitle = {Computational Materials Science},
  keywords = {Keyword},
  shortjournal = {Computational Materials Science},
  url = {http://www.sciencedirect.com},
  urldate = {2015-10-28}}
\end{filecontents*}

\makeglossaries
\newacronym{aa}{AA}{An Acronym} 

\addbibresource{example_bib.bib}

\begin{document}

\section{Body}

Try printing \gls{aa} and citing something.\cite{a_reference}

\printacronyms

\printbibliography

\end{document}

Isso requer duas pdflatexinvocações, mas você já tem isso em sua PdfLaTex + Bib(la)tex + PdfLaTex(x2) + View Pdfcompilação. Este método faz uso do mecanismo de escape do shell do TeX. Geralmente é definido para o modo restrito, que permite apenas a execução de aplicativos confiáveis. Felizmente, makeindexé um aplicativo confiável.

O makeglossariesscript Perl fornecido com o glossariespacote é executado makeindex(ou xindy), mas também fornece algumas informações de diagnóstico. (Algumas das xindymensagens de são um pouco enigmáticas.)resposta de egreg para outra perguntamostra como integrar makeglossariescom o texmaker.

Pessoalmente, prefiro usar arara. Com este método eu só preciso colocar alguns comentários especiais no meu código fonte:

% arara: pdflatex
% arara: makeglossaries
% arara: bibtex
% arara: pdflatex
\documentclass{article}

\usepackage{filecontents}
\usepackage[acronym]{glossaries}
\usepackage[backend=bibtex,bibencoding=ascii]{biblatex}

\begin{filecontents*}{example_bib.bib}
@ARTICLE{a_reference,
  author = {A, Name},
  title = {A Title},
  volume = {1},
  pages = {1--2},
  abstract = {an abstarct},
  date = {2013-06},
  doi = {10.1016/j.commatsci.2013.03.013},
  issn = {0927-0256},
  journaltitle = {Computational Materials Science},
  keywords = {Keyword},
  shortjournal = {Computational Materials Science},
  url = {http://www.sciencedirect.com},
  urldate = {2015-10-28}}
\end{filecontents*}

\makeglossaries
\newacronym{aa}{AA}{An Acronym} 

\addbibresource{example_bib.bib}

\begin{document}

\section{Body}

Try printing \gls{aa} and citing something.\cite{a_reference}

\printacronyms

\printbibliography

\end{document}

(Háuma pergunta sobre a integração do texmaker com arara.)

Você pediu algumas dicas importantes nos comentários. Aqui estão os que consigo pensar de cara:

  • Defina suas entradas ( \newglossaryentry, \newacronymetc) no preâmbulo ou coloque-as em um arquivo separado e carregue-as no preâmbulo usando \inputou \loadglsentries.
  • Evite usar caracteres especiais nos rótulos de entrada. Isso inclui caracteres latinos ou não latinos estendidos, a menos que você esteja usando XeLaTeX ou LuaLaTeX.
  • Evite usar comandos como \glsem seção/capítulo/legendas etc. Se você realmente precisar deles, use os comandos como \glsfmttext{label}ou \glsfmtshort{label}fornecidos \glsfmtlong{label}peloglossaries-extrapacote.
  • Se seus termos contiverem comandos ou caracteres especiais, forneça a sortchave. Por exemplo:

    \newglossaryentry{alpha}{name={$\alpha$},text={\alpha},sort={alpha},
       description={...}}
    \newacronym[sort={chi2}]{chisq}{$\chi^2$}{$\chi^2$-squared}
    
  • Se você quiser usar comandos como \Glsesse para converter a primeira letra para maiúscula, tome cuidado com as restrições impostas por \makefirstuc(fornecido pormfirstuc). Portanto, os exemplos acima deveriam realmente ser:

    \newglossaryentry{alpha}{name={{}$\alpha$},text={{}\alpha},sort={alpha},
       description={...}}
    \newacronym[sort={chi2}]{chisq}{{}$\chi^2$}{{}$\chi^2$-squared}
    

    (Esses tipos de entrada não devem ter nenhuma alteração de maiúsculas e minúsculas aplicada, mesmo que ocorram no início de uma frase. A chave vazia no início do valor descarta a tentativa de alterar maiúsculas e minúsculas, o que de outra forma causaria problemas.)

  • Se algo der errado, por exemplo, seu glossário não aparecer ou faltarem entradas, tente omakeglossariesguiaplicativo para ver se ele consegue detectar o problema.

Recursos relacionados:

informação relacionada