Seite 1 von 4

Glossaries unterteilen

Verfasst: Di 8. Jul 2014, 11:51
von Waischno
Hi,
ich habe nun schon ein paar Beiträge durchforstet. Leider hab ich meinen Fehler nicht gefunden.
Ich möchte gern mein Symbolverzeichnis in Lateinische und griechische Symbole unterteilen. Eigentlich dachte ich, dass ich es einfach über den Typ machen kann. Leider funktioniert das nicht. Es wird bei mir immer la_symbols im Symbolverzeichnis angezeigt.
Was mach ich falsch?
\documentclass{article}
\usepackage{tabularx}
\usepackage{array}
\usepackage[acronym,nogroupskip]{glossaries}

\newglossary[slg]{la_symbols}{syi}{syg}{Lateinische Formelzeichen}
\newglossary[slg]{gr_symbols}{syi}{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}

Verfasst: Fr 11. Jul 2014, 12:05
von Waischno
Gibt es ein Problem mit meinem Beispiel, oder hat wirklich keiner eine Idee?

Verfasst: Fr 11. Jul 2014, 12:23
von Johannes_B
Dein Thema ist bei mir im Browser schon seit Tagen offen, ich persönlich bin aber noch nicht dazu gekommen mir das anzuschauen. Wahrschenlich geht es den anderen Helfern ähnlich.
Eventuell hab ich heute Abend ein wenig Zeit und schau mir das an.

Verfasst: Fr 11. Jul 2014, 13:00
von u_fischer
\newglossary[slg]{la_symbols}{syi}{syg}{Lateinische Formelzeichen}
\newglossary[slg]{gr_symbols}{syi}{syg}{Griechische Formelzeichen}
Du benützt für beide Typen ja genau die gleichen Dateien. Wie soll da glossaries eine Chance haben und zwei Indexdatei schreiben?

Verfasst: Sa 12. Jul 2014, 15:23
von Waischno
Vielen Dank für die Antwort. Sry das ich n bisschen Druck gemacht habe aber ich komm ohne euch einfach nicht weiter.

Hm ok ich dachte es reicht, wenn ich den Typ verändere.

Hab jetzt mal in meinem Ausgabprofil nochmals ne Nachbearbeitung angelegt.
Lateinisch:
Anwendung: C:\Latex\miktex\bin\x64\makeindex.exe
Argumente: -s "%tm.ist" -t "%tm.slg" -o "%tm.syi" "%tm.syg"
Griechisch:
Anwendung: C:\Latex\miktex\bin\x64\makeindex.exe
Argumente: -s "%tm.isgt" -t "%tm.sglg" -o "%tm.sgyi" "%tm.sgyg"

Nun werden mir garkeine Verzeichnise mehr angezeigt :(
Was muss ich noch ändern?
Warscheinlich muss ich in \newglossaryentry noch irgentwas ändern. Ich weiß aber nicht was.

Verfasst: Sa 12. Jul 2014, 15:49
von Besserwisser
Naheliegend: Die Dateiendungen, die du bei \newglossaries angegeben hast, müssen mit denen der makeindex-Aufrufe übereinstimmen.

Verfasst: Sa 12. Jul 2014, 15:52
von Besserwisser
Achso: Die Dateiendung des Makeindex-Stils (Option -s) ist fest. Da kann man nicht einfach willkürlich etwas anderes verwenden. Siehe auch Abschnitt 1.3.3 der glossaries-Anleitung.

BTW: Ich finde es ja einfacher, makeglossaries aufzurufen. Einige finden es allerdings furchtbar kompliziert mit ein paar wenigen Mausklicks ein gescheites perl zu installieren, damit man makeglossaries verwenden kann …

Verfasst: Sa 12. Jul 2014, 16:05
von Johannes_B
Makeglossaries sollte allerdings auch ohne extra Perl funktionieren -> http://chat.stackexchange.com/transcrip ... 8#13620908

Trotzdem ist Perl ein wunderbares Werkzeug, welches man sich unbedingt mal anschauen sollte.

Verfasst: Sa 12. Jul 2014, 17:08
von esdd
Soweit ich weiß braucht man bei MiKTeX aber das extra Perl. Die Installation ist jedoch einfach.

Verfasst: So 13. Jul 2014, 10:59
von Waischno
Danke für die Antworten, aber ich versteh kein Wort.
Bin leider nicht so der Latex Profi. Könnt ihr mir das ganze nochmals erklären?

Den \newglossaries Befehl hab ich schon angepasst.
\newglossary[sglg]{gr_symb}{sgyi}{sgyg}{Grischisches Symbolverzeichnis}
\newglossary[slg]{la_symb}{syi}{syg}{Lateinsiches Symbolverzeichnis}