
Usando o glossaries
pacote é possível ter dois glossários:
um não classificado (ou seja, em ordem de aparecimento/uso), como para um índice de notação, e
o outro classificado em ordem alfabética, como para um glossário de terminologia?
Se sim, como?
Nota: também exijo que o glossário de notação seja subdividido em grupos. Eu sei fazer isso com apenas um glossário, mas o método usual interferirá se eu também tiver o segundo tipo de glossário?
Caso seja importante, estou usando o memoir
documentclass.
Responder1
Você precisa usar \makenoidxglossaries
e \printnoidxglossary
em vez de \makeglossaries
e \printglossary
se desejar regras de classificação diferentes. A noidx
variante usa TeX para classificar e agrupar em vez de usar makeindex
ouxindy
. Teria ajudado ter tido umexemplo de trabalho mínimo (MWE)para ilustrar o tipo de entradas que você possui. O exemplo a seguir usa entradas fictícias fornecidas nos arquivos de teste example-glossaries-brief.tex
e example-glossaries-symbols.tex
que devem ser instaladas com glossaries.sty
:
\documentclass{memoir}
\usepackage[symbols]{glossaries}
\usepackage{glossary-mcols}
\makenoidxglossaries
\loadglsentries{example-glossaries-brief}
\loadglsentries[symbols]{example-glossaries-symbols}
\begin{document}
\glsaddall
\printnoidxglossary[sort=word,style=mcolindexgroup]
\printnoidxglossary[type=symbols,sort=def,style=index]
\end{document}
O glossário principal é classificado de acordo com a ordem das palavras:
O glossário de símbolos não está classificado, embora pareça ordenado neste exemplo simplesmente porque as entradas de amostra foram definidas nessa ordem. Outra opção é sort=use
ordenar os lançamentos de acordo com a primeira utilização no documento.Existem muitos estilos de glossário predefinidos diferentes para você escolher.
Observe que onoidx
métodoé muito ineficiente na classificação alfabética e foi projetado apenas para ASCII. O glossaries-extra
pacote de extensão permite uma abordagem de combinação e combinação para que makeindex
/ xindy
possa ser usado para classificação alfabética e \printnoidxglossary
para ordem de definição ou ordem de uso. (Com sort=def
ou sort=use
, \printnoidxglossary
simplesmente itera através de uma lista interna, o que significa que nenhuma classificação real é executada).
Exemplo ajustado:
\documentclass{memoir}
\usepackage[symbols]{glossaries-extra}
\usepackage{glossary-mcols}
\makeglossaries[main]
\loadglsentries{example-glossaries-brief}
\loadglsentries[symbols]{example-glossaries-symbols}
\begin{document}
\glsaddall
\printglossary[style=mcolindexgroup]
\printnoidxglossary[type=symbols,sort=def,style=index]
\end{document}
Se você usar makeglossaries
, ele detectará que makeindex
é necessário apenas para o main
glossário.