Wie zeige ich Glossare in Sharelatex an?
Hier ist mein vereinfachtes Dokument.
Mein 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}
Mein 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}
Mein glossar.tex
:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
type=symbolslist}
Das Minimalbeispiel funktioniert, aber nicht das mit der Überschrift:
\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}
Auch sharelatex.com/project/5955f9a5ade7f36849037653. Es ist öffentlich und editierbar.
Antwort1
Es scheint, dass die Klasse mit der Option tudbook
automatisch geladen wird (und führt auch ¹ aus, sodass Sie und aus Ihrer Datei entfernen können).glossaries
xindy
\makeglossaries
\usepackage{glossaries}
\makeglossaries
header.tex
Die .glg
Transkriptdatei enthält den Fehler:
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"' ***
Von demglossaries
FAQ:
Was bedeutet der Xindy-Fehler „CHAR: Index 0 sollte kleiner sein als die Länge des Strings“?
xindy
verwirft alle Befehle und Klammern aus dem Sortierstring. Wenn Ihr Sortierstring (entweder durch densort
Schlüssel oder denname
Schlüssel angegeben) nur aus Befehlen besteht, wird dies vonxindy
als leerer Sortierstring behandelt, was in neueren Versionen von zu einer Fehlermeldung führtxindy
. Folgendes verursacht beispielsweise ein Problem:\newglossaryentry{alpha}{name={\ensuremath{\alpha}}, description=alpha}
Verwenden Sie entweder einen anderen Sortierschlüssel für den Eintrag, zum Beispiel:
\newglossaryentry{alpha}{sort=alpha, name={\ensuremath{\alpha}}, description=alpha}
oder, wenn alle Einträge so sind, können Sie die Paketoptionen
sort=use
oder verwenden. Siehe diesort=def
SortieroptionenWeitere Einzelheiten zu den Sortieroptionen finden Sie im Abschnitt „Sortieroptionen“ des Benutzerhandbuchs.
Sie müssen sort
Ihrem Eintrag also einen Schlüssel hinzufügen:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
sort={epsilon},
type=symbolslist}
Der Grund, warum Sie mit Ihrem MWE kein Problem haben, liegt darin, dass makeindex
anstelle von verwendet wird xindy
.
¹Ich empfehle diese Vorgehensweise in Klassendateien nicht, da einige Befehle vor platziert werden müssen \makeglossaries
, wie z. B. \newglossary
. Daher lässt diese Klasse nicht zu, dass Sie Ihre eigenen benutzerdefinierten Glossare definieren.