如何在 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"' ***
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
,所以此类不允许您定义自己的自定义词汇表。