Seite 1 von 1

Textauszeichnung von Einträgen im selbst definierten Glossar

Verfasst: Mi 30. Jan 2019, 20:40
von Roman_95
Hallo Zusammen,

ich hätte eine kurze Frage: Ich erstelle meine Bachelor-Arbeit mit drei Verzeichnissen: Glossar, Abkürzungen und Formelzeichen.

Für die ersten beiden nutze ich die Konstrukte von glossaries, also type main bzw. \acronymtype

Letzteres realisiere ich mittels eines eigenen Glossars: symbols
Ich möchte gerne die Formelzeichen und Abkürzungen im Stil super ausgeben, allerdings werden dann die Formelzeichen bzw. Abkürzungen selbst nicht fett gesetzt. Das hätte ich aber gerne so, insbesondere da im main-Glossar, der als tree gesetzt wird, dies auch so ist.

Ich würde hierfür einen eigenen glossarystyle definieren, welcher das entsprechend setzt.
Dafür hätte ich in diesem einfach die Definition von super angepasst, jetzt weiß ich aber leider nicht wie ich den Quelltext für die Standard-Stile finde. (Im Handbuch sind sie nicht abgedruckt, wie bei manchen anderen Paketen...)
Zudem habe ich aus diesem Forum die Definition des eigenen \newglossarystyle (MyStyle) kopiert. Diesen konnte ich auch ohne Probleme mit meinen Einträgen verwenden, allerdings konnte ich zwei Dinge nicht herausfinden:

1. wie sorge ich dafür, dass bestimmte Einträge anders gesetzt werden - geht das überhaupt an dieser Stelle?
2. wie hängen die Platzhalter (##1 etc.) mit den Glossareinträgen zusammen? Wenn ich die Ausgabe mit der Reihenfolge der Einträge im Glossareintrag vergleiche, ergibt es auf den ersten Blick keinen Sinn. Zumindest wenn man davon ausgeht, dass die Nummer des Platzhalters mit der lfd. Nummer des Glossareintrages (z.B. name=) übereinstimmen.

Leider empfinde ich die Dokumentation glossaries-user zu dieser Problematik als nicht sehr übersichtlich/hilfreich. Ich habe bereits versucht mir mit Hilfe dieser meine Fragen zu beantworten, mit mäßigem Erfolg. Derzeit fehlt mir momentan sowohl Zeit als auch Geduld mich hier komplett einzuarbeiten, da der Abgabetermin in greifbare Nähe rückt.

Daher hoffe ich jemand Erfahreneres kann mir weiterhelfen.

Im folgenden noch ein MM, im Abkürzungs- und Formelverzeichnis soll jeweils die erste Spalte fett gesetzt werden. Somit wäre die Darstellung mit dem Haupt-Glossar einheitlich:
\documentclass[oneside]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[xindy={language=german,codepage=duden-utf8}, acronym]{glossaries}
\newglossary[slg]{symbols}{sym}{sbl}{Formelzeichen}	 % Definition Symbolverzeichnis
\setacronymstyle{long-short}

\makeglossaries

%%%%%%% Definition der Glossareinträge %%%%%%%%%%%

\newacronym[description={Polyethylen hoher Dichte}]{pehd}{PE-HD}{high density polyethylene}

\newglossaryentry{dBM}{
	type=symbols,				 %Eintrag in Symbolverzeichnis
	name={\ensuremath{d_{BM}}},	 %Formelzeichen für Verzeichnis
	sort=dB,						 %Bezeichnung für Sortierreihenfolge
	symbol={\ensuremath{d_{BM}}},%Symbol für Verwendung im Text
	description={Dicke des Beutelmaterials}	 %Beschreibung im Symbolverzeichnis
}

\newglossaryentry{Packen}{name={Packen}, plural=Packen,
	 description={Verbund mehrerer Beutel, die flach aufeinander liegen und mittels Verblockung oder Verbindungselementen zusammengehalten werden}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\printglossary[type=main, nonumberlist, nopostdot, style=tree]	% Glossar
\printglossary[type=\acronymtype, title=Abkürzungsverzeichnis, nonumberlist, nopostdot, style=super]	% Abkürzungsverzeichnis
\printglossary[type=symbols, nonumberlist, nopostdot, style=super] 
\pagebreak

Ein \gls{Packen} von aus \glsunset{pehd}\gls{pehd} bestehenden Kunststoffbeuteln, deren Materialdicke \gls{dBM} 0.002mm beträgt.

\end{document}
VG, Roman

Re: Textauszeichnung von Einträgen im selbst definierten Glo

Verfasst: Do 31. Jan 2019, 09:35
von Gast
Roman_95 hat geschrieben:Dafür hätte ich in diesem einfach die Definition von super angepasst, jetzt weiß ich aber leider nicht wie ich den Quelltext für die Standard-Stile finde.
Dafür gibt es verschiedene Möglichkeiten. Zum einen kann man einfach einmal per kpsewhich glossaries.sty oder über die Dateisuche des Betriebssystems nach der Paketdatei von glossaries selbst suchen. Der Verdacht liegt nahe, dass die weiteren Dateien zum Paket in der Nähe liegen. Beim (noch) aktuellen TeX Live findet man unter Linux dann beispielsweise als Ergebnis /usr/local/texlive/2018/texmf-dist/tex/latex/glossaries/base/glossaries.sty. Wirft man nun einen Blick in das Verzeichnis /usr/local/texlive/2018/texmf-dist/tex/latex/glossaries/base/ findet man darin nicht sonderlich viel erhellendes. Aber mit einem genaueren Blick auf den kompletten Pfad, fällt auf, dass glossaries darin noch einmal vorkommt. Schaut man dann in /usr/local/texlive/2018/texmf-dist/tex/latex/glossaries/ findet man darin ein Unterverzeichnis styles. Es liegt nahe, sich weiter darin umzuschauen. Und richtig, darin gibt es ein glossary-super.sty.

Noch einfacher wäre man auf diese Datei gestoßen, hätte man sich die log-Datei eines kleinen Beispieldokuments, das den Stil super verwendet, angeschaut. Dann hätte man ebenfalls gefunden, dass in diesem Fall (und eigentlich immer, wenn Option nosuper nicht angegeben ist) glossary-super.sty geladen wird.

In glossary-super.sty findet man dann die Stil-Definition:
\newglossarystyle{super}{%
  \renewenvironment{theglossary}%
    {\tablehead{}\tabletail{}%
     \begin{supertabular}{lp{\glsdescwidth}}}%
    {\end{supertabular}}%
  \renewcommand*{\glossaryheader}{}%
  \renewcommand*{\glsgroupheading}[1]{}%
  \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
  \renewcommand{\subglossentry}[3]{%
     &
     \glssubentryitem{##2}%
     \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription\space
     ##3\tabularnewline
  }%
  \ifglsnogroupskip
    \renewcommand*{\glsgroupskip}{}%
  \else
    \renewcommand*{\glsgroupskip}{& \tabularnewline}%
  \fi
}
Roman_95 hat geschrieben:allerdings werden dann die Formelzeichen bzw. Abkürzungen selbst nicht fett gesetzt.
Dazu ist vielleicht anzumerken, dass in der Mathematik fette Formelzeichen meist eine andere Bedeutung haben als nicht fette. Das wäre ggf. zu berücksichtigen.
Roman_95 hat geschrieben:Zudem habe ich aus diesem Forum die Definition des eigenen \newglossarystyle (MyStyle) kopiert.
Dazu ist eventuell anzumerken, dass die Verwendung von \glossarystyle innerhalb von \newglossarystyle von glossaries seit einiger Zeit bereits als veraltet brandmarkt. Siehe die entsprechende Warnung. Stattdessen sollte man mit \setglossarystyle arbeiten. Siehe dazu Abschnitt 15 der [d]glossaries[/d]-Anleitung.

Viel Spaß bei der Definition eines eigenen Stils auf dieser Basis. Dazu unbedingt auch Abschnitt 15.2 der Anleitung beachten!

Verfasst: Do 31. Jan 2019, 18:03
von Roman_95
Hallo,

vielen Dank für die ausführliche Antwort. Es war mir nun ohne Probleme möglich den eigenen glossarystyle zu definieren.

Den Umstand mit der anderen Bedeutung fetter Symbole (ich erinnere mich nun, dass einer meiner Professoren mit diesen Matritzen und Vektoren kennzeichnete) hatte ich so nicht auf dem Schirm.
Allerdings unterbinden grundlegende Mechanismen von LaTeX ohnehin das Setzen in fett, da die "normalen" Textauszeichnungsbefehle im Mathemodus nicht funktionieren (siehe auch z.B. hier). Wieder was gelernt...

Somit bin ich jetzt "gezwungen" mich an dieser Konvention zu orientieren, da logischerweise beim Setzen der mathematischen Ausdrücke auch der \bfseries-Befehl in der Spalten-Deklaration ignoriert wird.


VG Roman