我过去曾在 Windows 8.1 上运行最新的 MikTex 和 Texniccenter 时使用词汇表,现在 2 年后,我开始使用旧模板撰写新论文,但在使用词汇表时却遇到了困难。
我的glossaries.tex
文件如下所示:
\usepackage[
acronym,nonumberlist]{glossaries}
\makeglossaries
% Display an arrow in front of the usage of an glossary entry
\newcommand{\glsgl}[1]{$\rightarrow$\,\gls{#1}}
\newcommand{\glsplgl}[1]{$\rightarrow$\,\glspl{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%
% ACRONYMS
\newglossaryentry{CPU}{type=\acronymtype, name={CPU}, description={Central Processing Unit}, first={\glstext*{CPU}}}
%%%%%%%%%%%%%%%%%%%%%%%%%
% GLOSSAR
\newglossaryentry{SDK_gl}{name={SDK},
description={Enthalten i.d.R. Werkzeuge und Dokumentationen zur Software, um dem Programmierer den Einstieg zu erleichtern}}
% reset the acronyms used in the glossary-entries
\glsresetall
\usepackage{glossary-longragged}
\newglossarystyle{super3colleft}{%
\renewenvironment{theglossary}%
{\tablehead{}\tabletail{}%
\begin{supertabular}{@{}>{\bfseries}lp{1.5\glsdescwidth}p{\glspagelistwidth}}}%
{\end{supertabular}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##5\\[-1px]}%
\renewcommand*{\glossarysubentryfield}[6]{%
&
\glssubentryitem{##2}%
\glstarget{##2}{\strut}##4 & ##6\\}%
\renewcommand*{\glsgroupskip}{ & &\\[-1.3ex]}%
}
\newlength{\acronymlabelwidth}
\setlength{\acronymlabelwidth}{0.25\textwidth}
\newglossarystyle{listwithwidth}{%
\renewenvironment{theglossary}%
{\begin{description}}{\end{description}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\item[\parbox{\acronymlabelwidth}{\glsentryitem{##1}\glstarget{##1}{##2}}]
##3\glspostdescription\space ##5}%
\renewcommand*{\glossarysubentryfield}[6]{%
\glssubentryitem{##2}%
\glstarget{##2}{\strut}##4\glspostdescription\space ##6.}%
\renewcommand*{\glsgroupskip}{\indexspace}%
}
然后,在目录之后,我想在清除的双页上显示首字母缩略词,并在以下内容上显示词汇表条目:
\tableofcontents
%%% Show all entries (even if not used):
\glsaddall
\printglossary[type=\acronymtype,style=super3colleft] % acronyme
\addcontentsline{toc}{section}{Akronyme}
\cleardoublepage
\glsresetall
\printglossary[type=main] % glossary
\addcontentsline{toc}{section}{Glossar}
\cleardoublepage
我在目录中找到了条目,但两页都是空的。这些问题可能由什么原因导致?
我正在使用进行编译texify
(也尝试过使用pdflatex
但也没有用)并与苏门答腊同步,我的配置文件如下所示:
是否可能缺少一些预处理或后处理来收集所有条目并构建相应的词汇表索引文件!?
编辑:我确实尝试过自己修复它,并且搜索了互联网。我发现了这篇非常有趣的帖子:http://en.wikibooks.org/wiki/LaTeX/Glossary并且提到需要安装 Perl。
正如我所说,我的模板最后一次使用是在 2 年前,所以我记不清我做了什么来让它工作,或者当时我在电脑上安装了什么软件。我的目录在编译后确实包含一个glo
,acn
和ist
- 文件,据我所知,该文件包含词汇表条目是必需的。这些文件如下所示:
ist
-文件:
% makeindex style file created by the glossaries package
% for document 'Hauptdatei' on 2014-1-10
actual '?'
encap '|'
level '!'
quote '"'
keyword "\\glossaryentry"
preamble "\\glossarysection[\\glossarytoctitle]{\\glossarytitle}\\glossarypreamble\n\\begin{theglossary}\\glossaryheader\n"
postamble "\%\n\\end{theglossary}\\glossarypostamble\n"
group_skip "\\glsgroupskip\n"
item_0 "\%\n"
item_1 "\%\n"
item_2 "\%\n"
item_01 "\%\n"
item_x1 "\\relax \\glsresetentrylist\n"
item_12 "\%\n"
item_x2 "\\relax \\glsresetentrylist\n"
delim_0 "\{\\glossaryentrynumbers\{\\relax "
delim_1 "\{\\glossaryentrynumbers\{\\relax "
delim_2 "\{\\glossaryentrynumbers\{\\relax "
delim_t "\}\}"
delim_n "\\delimN "
delim_r "\\delimR "
headings_flag 1
heading_prefix "\\glsgroupheading\{"
heading_suffix "\}\\relax \\glsresetentrylist "
symhead_positive "glssymbols"
numhead_positive "glsnumbers"
page_compositor "."
suffix_2p ""
suffix_3p ""
acn
-文件:
\glossaryentry{CPU?\glossaryentryfield{CPU}{\glsnamefont{CPU}}{Central Processing Unit}{\relax }|setentrycounter[]{page}\glsnumberformat}{vii}
glo
-文件:
\glossaryentry{SDK?\glossaryentryfield{SDK_gl}{\glsnamefont{SDK}}{Enthalten i.d.R. Werkzeuge und Dokumentationen zur Software, um dem Programmierer den Einstieg zu erleichtern}{\relax }|setentrycounter[]{page}\glsnumberformat}{vii}
我甚至尝试过这样的德国论坛的最小工作示例:
\documentclass{article}
\usepackage[ngerman]{babel}
%Laden des Paketes
\usepackage{glossaries}
\newglossary[svl]{symbols}{svi}{svo}{Symbolverzeichnis}
\makeglossaries
%Unser Testeintrag
\newglossaryentry{wbrot}{name=Wurstbrot,
description={Lecker gebackener Hefeteig mit verwurstetem Tier}}
%Unser Testeintrag Symbolverzeichnis
\newglossaryentry{Dichte}{type=symbols,name={$\rho$},
sort=rho,description={Dichte von irgendwas}}
\begin{document}
%den Begriff im Text verwenden
\gls{wbrot}, \gls{Dichte}
%Ausgabe des Verzeicnisses
\printglossary[title=Unser Testglossar]
\printglossary[title=Unser Testsymbolverzeichnis,type=symbols]
\end{document}
我没有在这个最小的例子中看到词汇表,所以它可能与我的完整模板无关,而是与 texniccenter 的全局设置有关,以便以某种方式编译词汇表。
答案1
是的,我自己回答这个问题,现在我终于知道是什么导致我头疼了:
我在 TexnicCenter 中看到了以下输出:
这引起了我的注意makeindex
,正如 karlkoeller 回答的那样,我从这里发现了:
http://ewus.de/tipp-1029.html&&http://ewus.de/tipp-1026.html
如何正确编译文件。我将配置文件更改为以下内容,禁用主窗口中的 makeindex:
并添加两个预处理器(我不会再使用texify
仅在需要时运行的编译器):
希望这也许能帮助到别人... :-)