Como mostrar glossários

Como mostrar glossários

Como faço para mostrar glossários no sharelatex?

Aqui está meu documento simplificado.

Meu main.tex:

\input{header}

\makeglossaries   
\input{glossar}
\begin{document}

\frontmatter


\begin{abstract}
In dieser Arbeit wurden die Zusammenhänge zwischen der Knochendichte, Porosität und dielektrischer Permittivität von Spongiosa untersucht.
\end{abstract}

%\listofacronyms
%\listofsymbols
\printglossaries



\tableofcontents

\mainmatter

Die komplexe Permittivität \underline{\gls{Perm}} eines Materials kann in der folgenden Form ausgedrückt werden: 


\glsaddall

\backmatter
\listoffigures
\listoftables
\literature

\end{document}

Meu header.tex:

%!TEX root = main.tex

\documentclass[a4paper,
        color,
        nocolortitle,
        twoside,    
        german, %nogerman
        serifmath,
        12pt,
        noproprietaryfonts,
        thesis,
        ] {tudbook} 

% Typographie
\usepackage{morewrites}
\usepackage{microtype}
\usepackage{multicol}
\usepackage{textcomp}

% Sprachanpassungen
\usepackage[babel]{csquotes}

% Bild- und  Tabellenunterschriften
\usepackage[twoside, margin={0.5cm,0.5cm}]{caption}

\usepackage{float}

\usepackage{enumitem}
\setlist{nosep,noitemsep}

% Formeln und Mathe
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{upgreek}
\usepackage{siunitx}
\addto\extrasgerman{\sisetup{locale=DE}}
\def\mathbi#1{\boldsymbol{#1}}

% Tabellen
\usepackage{booktabs}

% Referenzierung
\usepackage[colorlinks,linkcolor=black,citecolor=black,urlcolor=HKS41-30]{hyperref}
\usepackage{nameref}

% Einbindung ganzer PDF-Seiten
\usepackage{pdfpages}

% Farbige Absätze
\usepackage[backend=biber,style=numeric-comp,hyperref=true,backref=true]{biblatex}

\usepackage{lipsum}

\bibliography{bibliographie.bib}

% Zeilenabstand
\renewcommand{\arraystretch}{1.2}

% Spaltenabstand
\setlength{\columnsep}{1.3pc}



\usepackage{enumitem}
\setlist{nosep,noitemsep}

\usepackage[utf8]{inputenc}
\usepackage{glossaries}

Meu glossar.tex:

\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
 type=symbolslist}

O exemplo mínimo funciona, mas não aquele com cabeçalho:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\title{EjGlos}

\begin{abstract}
In dieser Arbeit wurden die Zusammenhänge zwischen der Knochendichte, Porosität und dielektrischer Permittivität von Spongiosa untersucht.
\end{abstract}



\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$}}


\makeglossaries
\begin{document}
\maketitle
\section{1}

Die komplexe Permittivität \underline{\gls{Perm}} eines Materials kann in der folgenden Form ausgedrückt werden: 

\printglossaries
\end{document}

Também sharelatex.com/project/5955f9a5ade7f36849037653 É público e editável.

Responder1

Parece que a tudbookclasse carrega automaticamente glossariescom a xindyopção (e também \makeglossaries¹ para que você possa remover \usepackage{glossaries}e \makeglossariesdo seu header.texarquivo).

O .glgarquivo de transcrição contém o erro:

ERROR: CHAR: index 0 should be less than the length of the string


*** Unable to execute: '"xindy"  -L german -C din5007-utf8 -I xindy -M "output" -t "output.glg" -o "output.gls" "output.glo"' ***

DeglossariesPerguntas frequentes:

O que significa o erro xindy "CHAR: o índice 0 deve ser menor que o comprimento da string"?

xindydescarta todos os comandos e chaves da string de classificação. Se sua string de classificação (especificada pela sortchave ou pela namechave) consistir apenas em comandos, ela será tratada xindycomo uma string de classificação vazia, que produz uma mensagem de erro nas versões mais recentes do xindy. Por exemplo, o seguinte causará um problema:

\newglossaryentry{alpha}{name={\ensuremath{\alpha}},  
  description=alpha} 

Use uma chave de classificação diferente para a entrada, por exemplo:

\newglossaryentry{alpha}{sort=alpha,  
  name={\ensuremath{\alpha}},  
  description=alpha} 

ou, se todas as entradas forem assim, você pode preferir usar as opções de pacote sort=use ou . sort=defVeja oOpções de classificaçãoseção do manual do usuário para obter mais detalhes sobre a opção de classificação.

Então você precisa adicionar uma sortchave à sua entrada:

\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
sort={epsilon},
 type=symbolslist}

A razão pela qual você não tem problemas com seu MWE é porque ele está usando makeindexem vez de xindy.


¹Não recomendo esta prática em arquivos de classe pois existem alguns comandos que devem ser colocados antes de \makeglossaries, como \newglossary, portanto esta classe não permitirá que você defina seus próprios glossários customizados.

informação relacionada