Glossaries unterteilen

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Waischno
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 22. Mai 2014, 19:39

Beitrag von Waischno »

Super! nächsten Schritt geschafft :)
Ich weiß es wirklich zu schätzen, dass ihr mir so gut und schnell helft.

Die beiden perl-Befehle werden erst nach dem Neustart angezeigt.

Im TexnicCenter werden jedoch noch keine Symbolverzeichnisse angezeigt. Fehler oder Warnungen gibt es keine.
Hier nochmal das jetztige Beispiel:
\documentclass{article}
\usepackage{tabularx}
\usepackage{array}
\usepackage[acronym,nogroupskip]{glossaries}

\newglossary[sla]{la_symbols}{sya}{sya}{Lateinische Formelzeichen}
\newglossary[slg]{gr_symbols}{syg}{syg}{Griechische Formelzeichen}
\makeglossaries

\newglossaryentry{degvi}{type=la_symbols,name=$\Delta E_{GP,i}$,
user1={MJ},sort=energie differenz grau verbrauch,
description={Differenz graue Energie und Verbrauch zu Produktion des betrachteten Systems}}

\newglossaryentry{asdf}{type=gr_symbols,name=$A_{GP,i}$,
user1={m},sort=energie differenz grau verbrauch,
description={Fläche}}

\newacronym{ipcc}{IPCC}{Intergovernmental Panel on Climate Change}

\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\newglossarystyle{tabx3col}{%
 % put the glossary in a longtable environment:
 \renewenvironment{theglossary}%
  {\begin{longtable}{L{0.2\textwidth}L{0.6\textwidth}R{0.2\textwidth}}}%
  {\end{longtable}}%
 % Set the table's header:
 \renewcommand*{\glossaryheader}{}%
 % No heading between groups:
  \renewcommand*{\glsgroupheading}[1]{}%
 % Main (level 0) entries displayed in a row:
  \renewcommand*{\glossaryentryfield}[5]{%
    \glstarget{##1}{\textbf{##2}}% Name
    & ##3% Description
    & ##5% Page list
    \\% end of row
  }%
}


\newglossarystyle{tabx4col}{%
 % put the glossary in a longtable environment:
 \renewenvironment{theglossary}%
  {\begin{longtable}{L{0.1\textwidth}L{0.1\textwidth}p{0.55\textwidth}R{0.2\textwidth}}}%
  {\end{longtable}}%
 % Set the table's header:
 \renewcommand*{\glossaryheader}{}%
 % No heading between groups:
  \renewcommand*{\glsgroupheading}[1]{}%
 % Main (level 0) entries displayed in a row:
  \renewcommand*{\glossaryentryfield}[5]{%
   \glstarget{\textbf{##1}}{\textbf{##2}}% Name
   & $[$\glsentryuseri{##1}$]$% Units
   & ##3% Description
   & ##5% Page list
    \\% end of row
  }%
  %Sub entries treated the same as level 0 entries:
 \renewcommand*{\glossarysubentryfield}[6]{%
  \glossaryentryfield{##2}{##3}{##5}{##6}}%
 % Nothing between groups:
 \renewcommand*{\glsgroupskip}{}%
}

\begin{document}

\gls{degvi}, \\\gls{ipcc}.

\printglossary[title=Abkürzungsverzeichnis,type=\acronymtype,style=tabx3col] %Print list of acronyms
\printglossary[title=Lateinisches Symbolverzeichnis,type=la_symbols,style=tabx4col] %Print list of symbols
\printglossary[title=Griechisches Symbolverzeichnis,type=gr_symbols,style=tabx4col] %Print list of symbols

\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du musst in den \newglossary Befehlen für die Input und Output Dateien verschiedene Endungen vorgegeben. Nimm so etwas wie
\newglossary[sll]{la_symbols}{sli}{slo}{Lateinische Formelzeichen} 
\newglossary[sgl]{gr_symbols}{sgi}{sgo}{Griechische Formelzeichen} 
Das griechische Verzeichnis wird dann trotzdem nicht erstellt werden, weil das eine Symbol zwar definiert, aber nicht verwendet wird und auch nicht mit \glsaddall oder ähnlichem zum Verzeichnis hinzugefügt wird.

Für die Nutzung mit glossaries habe ich im TeXnicCenter ein eigenes Ausgabeprofil definiert. Im Reiter (La)TeX steht da - neben dem üblichen Aufruf von pdflatex - unten bei MakeIndex nur

Pfad des MakeIndex-Compielers: makeglossaries
Argumente, die an MakeIndex übergeben werden sollen: "%\tm"

Die Reiter Vor- und Nachbereitung sind leer, im Reiter Viewer wird aber natürlich für die Anzeige des pdf gesorgt. Nach der obigen Korrektur läuft dein Beispiel damit.

Gruß
Elke

Besserwisser

Beitrag von Besserwisser »

Erschreckend, wie sehr wir uns im Kreis drehen. Die Sache mit den Dateiendungen hatte Ulrike eigentlich schon ganz am Anfang erklärt … :shock:

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ja, da waren die Endungen für die beiden Symbolverzeichnisse jeweils gleich, aber für Input und Output verschieden und jetzt gab es zwar einen Unterschied zwischen lateinisch und griechisch, aber dafür bekamen nun jeweils die In- und Outputdateien gleiche Endungen ... vielleicht findet sich ja noch eine weitere Variante ;-)

Besserwisser

Beitrag von Besserwisser »

Man könnte noch die Dateiende der einen Input-Datei für die andere Output-Datei und umgekehrt verwenden … vorausgesetzt, man legt keinen Wert darauf, dass es funktioniert.

Aber eigentlich sollte es nicht so schwer zu verstehen sein, dass jede Datei einen anderen Dateinamen haben sollte. Da der Basisname gleich ist, müssen also die Dateiendungen unterschiedlich sein …

Waischno
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 22. Mai 2014, 19:39

Beitrag von Waischno »

Ah mist copy-paste Fehler sry!! Hatte die Endungen eigentlich in meinem Testprogramm geändert.

Also hab alle Änderungen übernommen.
Bild
Nach dem kompilieren mit dem TexnicCenter entstehen folgende Dateien. (Auch nach 5maligem kompilieren)
Bild
Wenn ich in der cmd über den befehl makeglossaries glossary2 kompiliere bekomme ich mehr dateien.
Bild

Wenn ich danach nochmal den TexnicCenter laufen lasse erscheinen die beiden Verzeichnisse.
Ich denke nicht das es normal ist, dass ich den weg über die cmd machen muss oder?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Nein, das ist nicht normal. Arbeitest du mit nur einer Datei oder hast du ein Projekt angelegt? Falls es ein Projekt ist, dann klicke auf den Menübutton Projekt, wähle Eigenschaften und schau, ob bei "Verwendet MakeIndex" ein Haken ist.

Waischno
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 22. Mai 2014, 19:39

Beitrag von Waischno »

Das Beispiel ist nur eine Datei.
Meine eigentliche Arbeit ist ein Projekt. Dort ist der Haken gesetzt.

Waischno
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 22. Mai 2014, 19:39

Beitrag von Waischno »

Sry wenn ich das Thema wieder herauskramen muss.
Leider funktioniert die Erstellung der Glossary nicht mehr. Die Dateien dafür sind alle leer.



Ich wollte nun nach einiger Zeit mal wieder die Symbolverzeichnisse erstellen lassen. Also indem ich den Hacken bei dem Ausgabeprofil bei MakeIndex gesetzt habe. Dabei bekam ich die Fehler, dass die Abkürzungen nicht bekannt sind. Das ist ja auch klar, wenn die Dateien dafür leer sind.

Wenn ich das Ganze über die cmd laufen lasse, dann bekomme ich auch leere Dateien.
D:\Dokumente\Master\Studienarbeit\Bericht>makeglossaries Bericht
makeglossaries version 2.14 (2014-03-06)
added glossary type 'main' (glg,gls,glo)
added glossary type 'acronym' (alg,acr,acn)
added glossary type 'la_symb' (sll,sli,slo)
added glossary type 'gr_symb' (sgl,sgi,sgo)
Warning: File 'Bericht.slo' is empty.
Have you used any entries defined in glossary 'la_symb'?
makeindex -s "Bericht.ist" -t "Bericht.alg" -o "Bericht.acr" "Bericht.acn"
This is makeindex, version 2.15 [MiKTeX 2.9 64-bit] (kpathsea + Thai support).
Scanning style file D:/Dokumente/Master/Studienarbeit/Bericht/Bericht.ist.......
......................done (29 attributes redefined, 0 ignored).
Scanning input file Bericht.acn....done (5 entries accepted, 0 rejected).
Sorting entries....done (12 comparisons).
Generating output file Bericht.acr....done (10 lines written, 0 warnings).
Output written in Bericht.acr.
Transcript written in Bericht.alg.
Warning: File 'Bericht.sgo' is empty.
Have you used any entries defined in glossary 'gr_symb'?
Warning: File 'Bericht.glo' is empty.
Have you used any entries defined in glossary 'main'?
Remember to use package option 'nomain' if you
don't want to use the main glossary.

Ich habe in den letzten Tagen Gnuplot in meine Arbeit eingeführt. Dazu musste ich die Umgebungsvariablen ändern. Unter anderem steht da nun folgendes drin:
C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Latex\miktex\bin\x64\;C:\Program Files\Calibre2\;C:\Program Files (x86)\gnuplot\bin

Kann das dazu führen, dass die Verzeichnisse nun nicht mehr erstellt werden?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Steht in deinem Dokument \makeglossaries?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten