Seite 1 von 2
MakeGlossaries ohne Ausgabe
Verfasst: Mi 8. Jun 2016, 20:01
von Studentler
Hallo liebes Forum,
ich erhalte leider keinen Eintrag in meiner "Nomenklatur".
Ich nutze TeXnicCenter 2.02 und MikeTex 2.9 :
Habe in meinem Ausgabeprofil unter Nachbearbeitung bei LaTex > PDF eingestellt:
C:\Program Files\MiKTeX 2.9\miktex\bin\x64\makeindex.exe
-s "%tm.ist" -t "%tm.glg" -o "%tm.gls" "%tm.glo"
Mein Beispiel, hoffentlich minimal genug:
\documentclass[a4paper,12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage{ngerman}
\usepackage{siunitx}
%Nomenklatur
\usepackage[sort=def]{glossaries}
\usepackage{longtable}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Nomenklatur
% einen neuen glossary-Style definieren
\newglossarystyle{nomenclature}{%
\renewenvironment{theglossary}%
{\begin{longtable}[l]{llp{\glsdescwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}%
\glstarget{##1}{##2}% Symbol
& \glsentryuseri{##1}% Einheit
& ##3 % Beschreibung
\\
}%
\renewcommand*{\glsgroupskip}{\\}%
}
\newcommand\nomenclature[5][]{%
\newglossaryentry{#2}{
name = {#3},
description = {#4},
sort = {#1#2},
user1 = {\unexpanded{#5}},
type = \ifblank{#1}{main}{#1}
}}
% Gruppen:
\newglossary{A}{glai}{glao}{Lateinische Formelzeichen}
% Ausgabe der Nomenklatur:
\newcommand*\printnomenclature{%
\printglossary[type=A]%
}
\nomenclature[A]{T}{T}{Temperatur}{\si{\kelvin}}
\makeglossaries
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\chapter*{Nomenklatur}
\setglossarysection{section}
\printglossary[type=A]
\end{document}
Weiß jemand woran es hakt? Beim Kompilieren erhalte ich keine Fehlermeldung.
In TeXnicCenter unter Ausgabe > MakeIndex allerdings:
"This is makeindex, Version 2.15 .... Scanning Input file ...idx... done
Noting written in Ausarbeitung.ind
MakeIndex > Transcript written in Ausarbeitung.ilg."
Mehr leider nicht
Danke für Tipps und Tricks!
Moritz
Verfasst: Mi 8. Jun 2016, 21:00
von u_fischer
Nun, wenn makeindex die idx-bearbeitet, wo du oben eigentlich die glo eingestellt hast, kann irgendwas nicht stimmen. Warum benutzt du nicht makeglossaries?
Verfasst: Mi 8. Jun 2016, 22:03
von Studentler
Das habe ich bei der Wahl des Ausgabeprofils auch schon versucht, also die makeglossaries.exe zu wählen.
Doch auch dann ohne Erfolg :-/
Danke u_fischer für deine Hilfe!
Verfasst: Mi 8. Jun 2016, 22:06
von Studentler
Muss ich vielleicht das Ausgabeprofil bei "Vorbearbeitung" eingeben ?
Dann meckert er mir aber rum, das Perl.exe nicht installiert ist. Laut meinen Recherchen benötige ich das aber nicht?
Verfasst: Do 9. Jun 2016, 01:00
von esdd
Zum einen musst Du die Abkürzungen auch im Dokument verwenden oder zum Beispiel mit \glsaddall ins Verzeichnis einfügen lassen und zum anderen müssen beim Aufruf von makeindex die angegebenen Dateiendungen mit den von Dir fest gelegten übereinstimmen:
-s "%tm.ist" -t "%tm.glg" -o "%tm.glai" "%tm.glao"
Ich würde aber an Deiner Stelle einfach perl installieren, zum Beispiel
ActivePerl oder
Strawberry Perl und dann makeglossaries nutzen.
Verfasst: Fr 10. Jun 2016, 11:54
von Studentler
Tut mir Leid aber es hat nicht zum Erfolg geführt:
This is makeindex, version 2.15 [MiKTeX 2.9 64-bit] (kpathsea + Thai support).
Scanning input file Main_Ausarbeitung.idx...done (0 entries accepted, 0 rejected).
Nothing written in Main_Ausarbeitung.ind.
Transcript written in Main_Ausarbeitung.ilg.
Glossar > Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in ....
...
...
Glossar > makeglossaries version 2.16
Glossar > added glossary type 'main' (glg,gls,glo)
Glossar> added glossary type 'A' (glg,glai,glao)
....
....
Glossar > makeindex -s "Main_Ausarbeitung.ist" -t "Main_Ausarbeitung.glg" -o "Main.Ausarbeitung.gls" "Main Ausarbeitung.glo"
....
....
Glossar > Scanning input file Main_Ausarbeitung.glo ... done (0 entries accepted, 0 rejected)
Glossar > nothing written in Main_Ausarbeitung.gls
Transcript written in ...
Glossar > 4 glossaries ignored
Hmm jetzt bin ich ratlos ...
\glsaddall
\addcontentsline{toc}{chapter}{Nomenklatur} % in Inhaltsverzeichnis aufnehmen
\chapter*{Nomenklatur}
\setglossarysection{section}
\printglossary[type=A]
Hier wird das Glossar ja auch gedruckt.
Danke nochmal für Hilfe!
Verfasst: Mo 13. Jun 2016, 16:30
von Studentler
Hat niemand einen Tipp woran es hapern könnte?
Verfasst: Mo 13. Jun 2016, 17:48
von Studentler
Wollte nur den Status in "Offen" ändern. Melde mich nun auch richtig im Forum an

Verfasst: Di 14. Jun 2016, 08:45
von esdd
Studentler hat geschrieben:
Glossar > makeglossaries version 2.16
\glsaddall
\addcontentsline{toc}{chapter}{Nomenklatur} % in Inhaltsverzeichnis aufnehmen
\chapter*{Nomenklatur}
\setglossarysection{section}
\printglossary[type=A]
Hier wird das Glossar ja auch gedruckt.
Das hatte ich jetzt so verstanden, dass Du zum einen tatsächlich makeglossaries verwendest (wobei ich mit der 2.19 eine aktuellere Version habe) und zum anderen mit \glsaddall dein Verzeichnis bekommst?
Wie schon gesagt, reicht es nicht die Einträge nur zu definieren. Du musst sie entweder im Dokument verwenden oder einzeln zum Verzeichnis hinzufügen oder das mit \glsaddall für alle definierten Abkürzungen tun lassen.
\documentclass[a4paper,12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}% <- geändert
\usepackage{siunitx}
%Nomenklatur
\usepackage[
%sort=def,% <- auskommentiert, damit Einträge sortiert werden
nomain% <- eingefügt, da in dem Beispiel main nicht verwendet wird
]{glossaries}
\usepackage{longtable}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Nomenklatur
% einen neuen glossary-Style definieren
\newglossarystyle{nomenclature}{%
\renewenvironment{theglossary}%
{\begin{longtable}[l]{llp{\glsdescwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}%
\glstarget{##1}{##2}% Symbol
& \glsentryuseri{##1}% Einheit
& ##3 % Beschreibung
\\
}%
\renewcommand*{\glsgroupskip}{\\}%
}
\newcommand\nomenclature[5][]{%
\newglossaryentry{#2}{
name = {#3},
description = {#4},
sort = {#1#2},
user1 = {\unexpanded{#5}},
type = \ifblank{#1}{main}{#1}
}}
% Gruppen:
\newglossary{A}{glai}{glao}{Lateinische Formelzeichen}
%%Ausgabe der Nomenklatur: auskommentiert, da nicht verwendet
%\newcommand*\printnomenclature{%
%\printglossary[type=A]%
%%<- Leerzeile entfernt
%}
\nomenclature[A]{T}{T}{Temperatur}{\si{\kelvin}}
\nomenclature[A]{m}{m}{Masse}{\si{\gram}}
\nomenclature[A]{s}{s}{Weg}{\si{\metre}}
\makeglossaries
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
Alles was in das Verzeichnis soll, muss wenigstens einmal im Text verwendet werden: \gls{T}.
%
%%% Alternativen
%Hinzufügen eines bestimmten Eintrags unabhängig von der Nutzung: \glsadd{m}
%
%Alles hinzufügen unahängig von Nutzung: \glsaddall
\chapter*{Nomenklatur}
\addcontentsline{toc}{chapter}{Nomenklatur} % muss direkt nach \chapter* stehen
\setglossarysection{section}
\printglossary[type=A,
style=nomenclature% <- eingefügt, damit der Stil auch verwendet wird
]
\end{document}
Verfasst: Di 14. Jun 2016, 09:51
von Studentler
Guten Tag,
ich hätte gedacht, dass nachdem ich dein Minimalbeispiel direkt in ein neues leeres Projekt kopiert habe, unter Nomenklatur die Einträge auch abgebildet hätten werden sollen (dein Beispiel sollte ja funktionieren). Dem ist leider nicht so. Von dem her muss irgendwas in TeXnicCenter nicht stimmen?
Ich drücke lediglich immer Latex > PDF
Als Ausgabeprofil habe ich mir unter Latex > PDF unter dem Reiter "Nachbearbeitung" einen neuen "Prozessor" mit dem Namen "Glossar" erstellt. Darin enthalten sind:
Anwendung: C:\Program Files\MiKTeX 2.9\miktex\bin\x64\makeglossaries.exe
Argumente: -s "%tm.ist" -t "%tm.glg" -o "%tm.gls" "%tm.glo"
So hatte ich mir das aus dem Internet zusammengebastelt.
Im Ordner, in den ich dein Minimalbeispiel gepackt habe, liegt u.a.:
eine .aux Datei
eine .bbl Datei
Die .aux Datei enthält:
\relax
\catcode `"\active
\providecommand\@newglossary[4]{}
\@newglossary{A}{glg}{glai}{glao}
\providecommand\@glsorder[1]{}
\providecommand\@istfilename[1]{}
\@istfilename{Main_Ausarbeitung.ist}
\@glsorder{word}
\select@language{ngerman}
\@writefile{toc}{\select@language{ngerman}}
\@writefile{lof}{\select@language{ngerman}}
\@writefile{lot}{\select@language{ngerman}}
\@writefile{toc}{\contentsline {chapter}{Nomenklatur}{2}}
Die .glao Datei :
\glossaryentry{AT?\glossentry{T}|setentrycounter[]{page}\glsnumberformat}{1}
Ohje
