我在词汇表方面遇到了一些困难,也许你们中有人知道如何解决它。以下是我的 MWE:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage[ nonumberlist,acronym]{glossaries}
\renewcommand{\glossarysection}[2][]{}
%Symbolverzeichnis
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
%Indexverzeichnis
\newglossary[ilg]{indizes}{ini}{ing}{Indizes}
%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}
%Verzeichnisstil mit Einheit
\newglossarystyle{fz}{%
% Verzeichnis wird ein 'longtable' mit 3 Spalten
\renewenvironment{theglossary}%
{\begin{longtable}{p{3.4cm}p{3cm}p{9.6cm}}}%
{\end{longtable}}%
% Kopf der Tabelle
\renewcommand*{\glossaryheader}{%
\textbf{Formelzeichen} & \textbf{Einheit} & \textbf{Bedeutung}%
\\\endhead}%
% Kein Abstand zwischen Gruppen
\renewcommand*{\glsgroupheading}[1]{}%
%
\renewcommand*{\glossaryentryfield}[5]{%
\glstarget{##1}{##4}% Symbol
& \glsentryuseri{##1}% Einheit
& ##3% Beschreibung
}%
\renewcommand*{\glsgroupskip}{\relax}
}
%Glossar-Befehle anschalten
\makeglossaries
\begin{document}
\newacronym{cae}{CAE}{Computer Aided Engineering} \gls{cae}
\newglossaryentry{$T_{Ent}$}{name=Entformungstemperatur,description={Solltemperatur zum Entformungszeitpunkt},symbol={$T_{Ent}$},type=symbolslist,user1={\textcelsius}} \gls{$T_{Ent}$}
\newglossaryentry{$Ent$}{name=Entformung,description={Entformung},type=indizes} \gls{$Ent$}
%Glossare
\subsection{Abkürzungsverzeichnis}
%Abkürzungen ausgeben
\printglossary[type=\acronymtype]
\subsection{Formelzeichen}
%Symbole ausgeben
\printglossary[type=symbolslist,style=fz]
\subsection{Indizes}
%Glossar ausgeben
\printglossary[type=indizes,style=fz]
\end{document}
我使用以下方法进行编译:
pdflatex -synctex=1 -interaction=nonstopmode %.tex|
makeindex -s %.ist -t %.alg -o %.acr %.acn|
makeindex -s %.ist -t %.glg -o %.gls %.glo|
makeindex -s %.ist -t %.slg -o %.syi %.syg|
makeindex -s %.ist -t %.ilg -o %.ini %.ing|
pdflatex -synctex=1 -interaction=nonstopmode %.tex|
pdflatex -synctex=1 -interaction=nonstopmode %.tex|
evince %.pdf
没有打印词汇表,为什么?我还注意到并非所有日志(例如缺少 alg)并且 makeindex 调用 nomencl.ist 例如索引词汇表。我犯了什么错误?感谢您的帮助!
答案1
不要makeindex
对每个词汇表类型的各种输出文件运行一堆命令,而是使用 makeglossaries 脚本,即
(假设 pdflatex 为二进制文件且文件名为foo.tex
)
pdflatex foo
制作词汇表 foo
pdflatex foo
通常,这应该可以根据需要提供词汇表,可能需要第三次运行pdflatex
,具体取决于特殊设置。
或者使用\makenoidxglossaries
而不是\makeglossaries
。
离题:glossaries
抱怨没有主词汇表(默认词汇表),所以\usepackage[nomain,...]{glossaries}
在这里使用而不用。(...
这里代表可能的其他选项,为了简洁起见省略了