Как отобразить глоссарии в sharelatex?
Вот мой упрощенный документ.
Мой 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}
Мой 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}
Мой glossar.tex
:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
type=symbolslist}
Минимальный пример работает, а вот с заголовком — нет:
\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}
Также sharelatex.com/project/5955f9a5ade7f36849037653 Он общедоступный и доступен для редактирования.
решение1
Кажется, tudbook
класс автоматически загружается glossaries
с xindy
опцией (а также делает \makeglossaries
¹, поэтому вы можете удалить \usepackage{glossaries}
и \makeglossaries
из своего header.tex
файла).
Файл стенограммы .glg
содержит ошибку:
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"' ***
Изglossaries
Часто задаваемые вопросы:
Что означает ошибка xindy «CHAR: индекс 0 должен быть меньше длины строки»?
xindy
отбрасывает все команды и скобки из строки сортировки. Если ваша строка сортировки (указанная ключомsort
илиname
ключом) состоит только из команд, это будет рассматриватьсяxindy
как пустая строка сортировки, что приводит к сообщению об ошибке в более новых версияхxindy
. Например, следующее вызовет проблему:\newglossaryentry{alpha}{name={\ensuremath{\alpha}}, description=alpha}
Либо используйте другой ключ сортировки для записи, например:
\newglossaryentry{alpha}{sort=alpha, name={\ensuremath{\alpha}}, description=alpha}
или, если все записи такие, вы можете предпочесть использовать опции пакета
sort=use
илиsort=def
. См.Параметры сортировкираздел руководства пользователя для получения более подробной информации о параметрах сортировки.
Поэтому вам нужно добавить sort
ключ к вашей записи:
\newglossaryentry{Perm}{name=\ensuremath{{\epsilon}},description={Komplexe relative Permittivität des Mediums}
unit={$\frac{F}{m}$},
sort={epsilon},
type=symbolslist}
Причина, по которой у вас не возникнет проблем с MWE, заключается в том, что он использует makeindex
вместо xindy
.
¹Я не рекомендую использовать эту практику в файлах классов, поскольку некоторые команды необходимо размещать перед \makeglossaries
, например \newglossary
, поэтому этот класс не позволит вам определять собственные пользовательские глоссарии.