Seite 1 von 1

glossaries Abk- Symbolverzeichnis anpassen

Verfasst: Fr 21. Dez 2018, 10:16
von larswi
Hallo zusammen,

für meine Bachelor-Arbeit soll ich mein Abkürzungs- & Symbolverzeichnis wie eine Tabelle gestalten.

Ich habe mich dazu auch ein wenig schlau gemacht und bisher ist folgendes dabei rausgekommen (als minimalbeispiel):
%
\documentclass[]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[left=35mm, right=30mm, top=35mm, bottom=25mm]{geometry}
\usepackage{amsmath}

\usepackage[
	nomain,
	nonumberlist,
	toc,
	acronym,
	nopostdot,
	nogroupskip
]{glossaries}

\newglossary[slg]{symbols}{syi}{syg}{List of Symbols}
\renewcommand*{\glspostdescription}{}

\makeglossaries

% MyStyle for list of Symbols
\newglossarystyle{MyStyle}{
  \glossarystyle{long3colheader}
  \renewenvironment{theglossary}
  {\begin{longtable}{lp{2cm}p{\glsdescwidth}}}
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{\textbf{Symbol} & \textbf{Unit} &
    \textbf{Name}\\[3ex]\endhead}
  \renewcommand*{\glossaryentryfield}[5]{%
    \glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3  \\[1ex]}%
}

% Abkürzungen

\newacronym{acr:ansys}{ANSYS}{Analysis System}
\newacronym{acr:fem}{FEM}{Finite Element Method}

% Symbole

% 							ELONGATION
\newglossaryentry{sym:elongation}{
  name={\ensuremath{\varepsilon}},
  symbol={[-]},
  description={Elongation},
  sort=symbolelongatilon,
  type=symbols
}

% 							Stress
\newglossaryentry{sym:stress}{
  name={\ensuremath{\sigma}},
  symbol={[$N/mm^2$]},
  description={Stress},
  sort=symbolstress,
  type=symbols
}

\glsaddall

\begin{document}

\printglossary[
	type=acronym, 			
	title=List of Abbreviations,
	style=listdotted]
\newpage
\printglossary[
	type=symbols,
	style=MyStyle]
\newpage
\section{Beispiel}

The acronyms \gls{acr:ansys} and \gls{acr:fem}  and the Symbols \gls{sym:elongation} and
\gls{sym:stress}.
\end{document}

Soweit so gut, nur möchte ich bei den Abkürzungsverzeichnis noch einen Tabellenkopf mit "\textbf{Abbreviation} | \textbf{Name}" haben und bei beiden Verzeichnissen jeweils noch eine horizontale Linie unterhalb dieser dick gedruckten Bezeichnung.

Am Ende der Seite soll dann auch nochmal eine horizontale Linie erscheinen.

Vielen Dank :)

PS: Ich hab noch ein Bild zugefügt, wie ich es mir in etwa vorstelle.

Verfasst: Fr 21. Dez 2018, 13:27
von Gast
Die Änderung für MyStyle ist recht einfach:
\usepackage{booktabs}
% MyStyle for list of Symbols
\newglossarystyle{MyStyle}{
  \setglossarystyle{long3colheader}
  \renewenvironment{theglossary}
  {\begin{longtable}{lp{2cm}p{\glsdescwidth}}}
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{\textbf{Symbol} & \textbf{Unit} &
    \textbf{Name}\\\midrule[1pt]
    \addlinespace[2ex]\endhead
    \bottomrule[1pt]\endfoot}
  \renewcommand*{\glossaryentryfield}[5]{%
    \glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3  \\[1ex]}%
}
Der Stil listdotted ist dagegen AFAIK kein Tabellenstil. Also gibt es auch keinen Tabellenkopf und keinen Tabellenfuß. Auf der ersten Seite könnte man einen Tabellenkopf und auf der letzten einen Tabellenfuß sicher faken. Auf den Seiten dazwischen wird es eher kompliziert.

Verfasst: Fr 21. Dez 2018, 13:49
von larswi
okay,

hab das so mit deinen Einstellungen probiert, aber da fehlt dann bei mir die Einheiten (siehe Example_2.png).

Bezüglich des Abkürzungsverzeichnisses,
der listdotted still muss ich nicht zwangsläufig haben,
mir ist da nur wichtig, dass der volle Name entsprechend eingerückt ist.

Verfasst: Fr 21. Dez 2018, 14:04
von Gast
Das liegt nicht an meiner Änderung. Das war vorher schon so, liegt also an deinem Code nicht an meinem.

Verfasst: Fr 21. Dez 2018, 14:36
von Bartman
Am Ende der Einleitung des Abschnitts 15.1 in glossaries-user.pdf von glossaries erfährst Du, warum Du \glspostdescription in Deinem Beispiel nicht mehr anpassen musst.

Für Deine Einheiten bietet sich das Paket siunitx an.

\glossaryentryfield ist veraltet. In der Dokumentation heißt der Befehl \glossentry. Das Argument des Befehls hat sich auch verändert. Du dürftest in diesem und anderen Foren verschiedene Beispiele finden.

Verfasst: Fr 21. Dez 2018, 14:51
von Gast
Um den Code wenigstens halbwegs auf an die aktuelle Version von glossaries anzupassen, könnte die Definition beispielsweise
\newglossarystyle{MyStyle}{
  \setglossarystyle{long3colheader}
  \renewenvironment{theglossary}
  {\begin{longtable}{lp{2cm}p{\glsdescwidth}}}
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{\textbf{Symbol} & \textbf{Unit} &
    \textbf{Name}\\
    \midrule[1pt]
    \addlinespace[2ex]
    \endhead
    \bottomrule[1pt]\endfoot
  }
 \renewcommand*{\glossentry}[2]{%
    \glossentryname{##1} & \glossentrysymbol{##1} & \glossentrydesc{##1} \\[1ex]}%
}
lauten. Aber dann stellt sich auch wieder die Frage, warum nicht gleich long3col-booktabs verwendet wird.

Verfasst: Fr 21. Dez 2018, 14:58
von Gast
ong3col-booktabs fehlt die Beschreibung. Wohl eher eine Modifikation von long4col-booktabs ohne die page list.