¿Cómo muestro glosarios en sharelatex?
Aquí está mi documento simplificado.
Mi 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}
Mi 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}
Mi glossar.tex
:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
type=symbolslist}
El ejemplo mínimo funciona, pero no el que tiene el encabezado:
\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}
También sharelatex.com/project/5955f9a5ade7f36849037653 Es público y editable.
Respuesta1
Parece que la tudbook
clase se carga automáticamente glossaries
con la xindy
opción (y también lo hace \makeglossaries
¹ para que puedas eliminar \usepackage{glossaries}
y \makeglossaries
de tu header.tex
archivo).
El .glg
archivo de transcripción contiene el error:
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"' ***
Desde elglossaries
Preguntas más frecuentes:
¿Qué significa el error xindy "CHAR: el índice 0 debe ser menor que la longitud de la cadena"?
xindy
descarta todos los comandos y llaves de la cadena de clasificación. Si su cadena de clasificación (ya sea especificada por lasort
clave o laname
clave) solo consta de comandos, esto será tratadoxindy
como una cadena de clasificación vacía, lo que produce un mensaje de error en las versiones más recientes dexindy
. Por ejemplo, lo siguiente causará un problema:\newglossaryentry{alpha}{name={\ensuremath{\alpha}}, description=alpha}
Utilice una clave de clasificación diferente para la entrada, por ejemplo:
\newglossaryentry{alpha}{sort=alpha, name={\ensuremath{\alpha}}, description=alpha}
o, si todas las entradas son así, es posible que prefiera utilizar las opciones del paquete
sort=use
o .sort=def
Ver elOpciones de clasificacióndel manual del usuario para obtener más detalles sobre la opción de clasificación.
Entonces necesitas agregar una sort
clave a tu entrada:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
sort={epsilon},
type=symbolslist}
La razón por la que no tienes problemas con tu MWE es porque usa makeindex
en lugar de xindy
.
¹No recomiendo esta práctica en archivos de clase ya que hay algunos comandos que deben colocarse antes \makeglossaries
, como por ejemplo \newglossary
, por lo que esta clase no le permitirá definir sus propios glosarios personalizados.