Symbolverzeichnis (glossaries) mit Überschrift, linksbündig

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


woodi
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 21. Aug 2011, 13:42
Wohnort: Hannover

Symbolverzeichnis (glossaries) mit Überschrift, linksbündig

Beitrag von woodi »

Hi,

nach langem Suchen habe ich leider immer noch nicht das herausgefunden was ich eigentlich machen will.
Das Symbolverzeichnis soll (nach Vorgabe) so aussehen wie im Dateianhang.
In Worten: Drei Spalten, Überschrift über jede Spalte, auf jeder neuen Seite wieder die Überschriften. Erste Spalte Symbol, zweite Dimension, dritte Beschreibung. Die komplette Übersicht immer linksbündig.
Das Problem ist, dass beim Einfügen des Codes aus der Dokumentation
\renewcommand*{\glossaryheader}{
 \bfseries \entryname & \bfseries \descriptionname\\\endhead}
nicht wirklich etwas passiert; er keine Überschriften setzt.
Auch das Vertauschen der Spalten, so dass die Dimension an zweiter Stelle steht, führt leider dazu, dass der Beschreibungstext aus der Seite rechts herausläuft. Die Vertauschung hatte ich, wie im Beispiel auf triviale und damit wohl falsche Art, über den Tausch der Zahlen in der Zeile
\glstarget{##1}\\[0.5cm]{##2}&{##3}&{##4}}% \\[0.5cm] Zeilenabstand zwischen Einträgen
vorgenommen.

Hat irgendjemand eine Idee, wie man zumindest die Punkte "generell linksbündig" und die "Spaltenreihenfolge" herstellt?
Die Option mit den Überschriften wäre dann das i-Tüpfelchen des Ganzen!
Vielen Dank!

Habe als Referenz den schon häufiger hier geposteten Code (ein wenige verkürzt) bemühen müssen, unter Verwendung von MikTeX 2.9 und TeXnicCenter:
\documentclass[pdftex,11pt,a4paper]{scrreprt}
\usepackage[ngerman]{babel,translator} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[sc]{mathpazo} 
\usepackage{booktabs}
\usepackage{longtable}
\usepackage[textstyle]{SIunits}
\usepackage{threeparttable} %für Tabellen mit caption, table und tablenote [\begin{threeparttable}\begin{tabular}\end{tabular}\begin{tablenotes}[option(para, online, flushleft)]\end{tablenotes}\end{threeparttable}
\usepackage[%Paket laden für Symbolverzeichnis und Abkürzungsverzeichnis
nonumberlist, 
numberline,  
acronym,      %ein Abkürzungsverzeichnis erstellen
toc]         
{glossaries}

%Ein Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}

%Style Symbolverzeichnis definieren
\newglossarystyle{symbver}{ % put the glossary in a longtable environment:
\renewenvironment{theglossary}
{\begin{longtable}{lp{\glsdescwidth}cccp{\glspagelistwidth}}}
{\end{longtable}}


\renewcommand*{\glossaryheader}{%
 \bfseries \entryname & \bfseries \descriptionname\\\endhead}%

\renewcommand*{\glossaryheader}{}

\renewcommand*{\glossaryentryfield}[4]{
\glstarget{##1}\\[0.5cm]{##2}&{##3}&{##4}}% \\[0.5cm] Zeilenabstand zwischen Einträgen


\renewcommand*{\glossarysubentryfield}[6]{
\glossaryentryfield{##2}{##3}{##4}{[##5]}}

\renewcommand*{\glsgroupskip}{}}

%Den Punkt am Ende jeder Beschreibung deaktivieren
%\renewcommand*{\glspostdescription}{}


\newglossaryentry{romanletter}{name={\textbf{\rlap{Lateinische Buchstaben}}},description={}} %trennt Symbolverzeichnis in lateinische und griechische Buchstaben
\newglossaryentry{greekletter}{name={\textbf{\rlap{Griechische Buchstaben}}},description={}} %trennt Symbolverzeichnis in lateinische und griechische Buchstaben


%Glossar-Befehle anschalten
\makeglossaries


\begin{document} 
\newglossaryentry{symb:f}{
name=\textit{f},
symbol=mm,
description={Brennweite der Fokussierlinse},
parent=romanletter,
sort=symbolf, type=symbolslist
}
\newglossaryentry{symb:rhoE}{
name=$\rho\textsubscript{E}$,
symbol=$\frac{\text{J}}{\text{\centi\meter\squared}}$, 
description={Energiedichte des Laserstrahls auf dem Target},
parent=greekletter,
sort=symbolrhoE, type=symbolslist
}
Das sind \gls{symb:f} und \gls{symb:rhoE}!

%Symbole ausgeben
\printglossary[type=symbolslist,style=symbver,title=Symbolverzeichnis] %gibt Symbolverzeichnis aus, title= ohne Überschrift

\end{document}

Der makeindex-Befehl wird natürlich als "Nachbearbeitung" mit TeXnicCenter über -s "%tm.ist" -t "%tm.glg" -o "%tm.gls" "%tm.glo" aufgerufen. Beispiel läuft ja.
Dateianhänge
Vorgabe Symbolverzeichnis
Vorgabe Symbolverzeichnis
symbvz.png (23.74 KiB) 3308 mal betrachtet

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Symbolverzeichnis (glossaries) mit Überschrift, linksbün

Beitrag von KOMA »

Ohne mir das näher angeschaut oder es ausprobiert zu haben:
woodi hat geschrieben:
\renewcommand*{\glossaryheader}{%
 \bfseries \entryname & \bfseries \descriptionname\\\endhead}%

\renewcommand*{\glossaryheader}{}
Dir ist schon klar, dass die zweite Umdefinierung von \glossaryheader die erste schlicht wieder zunichte macht, vgl:
\documentclass{article}
\renewcommand*{\figurename}{Pfff}
\renewcommand*{\figurename}{}
\begin{document}
\figurename
\end{document}
gibt natürlich nicht Pfff, sondern schlicht nichts aus.

PS: Die Sonne kommt raus, ich mache deshalb erst einmal Schluss.

woodi
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 21. Aug 2011, 13:42
Wohnort: Hannover

Beitrag von woodi »

Hi Koma,

vielen Dank für Deine Antwort.
Oh je, stimmt. Das ist ein wenig sinnfrei!

Habe gerade aber nochmals ein wenig gespielt und das ganze etwas umgebaut.

\documentclass[pdftex,11pt,a4paper]{scrreprt}
\usepackage[ngerman]{babel,translator}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[sc]{mathpazo}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage[unit-mode=text]{siunitx}
\usepackage[nonumberlist,numberline,acronym,toc]{glossaries}

\newlength{\glsfixfirstwidth}
\setlength{\glsfixfirstwidth}{5em}
\newcommand*{\longtablealign}{l}
\newglossarystyle{symbvz}{
\renewenvironment{theglossary}
{\begin{longtable}[\longtablealign]{@{}ccp{0.75\textwidth}@{}}}
{\end{longtable}}

\renewcommand*{\glossaryheader}{
\textbf{Symbol} & \textbf{Einheit} & \textbf{Beschreibung} \\
\endhead}

\renewcommand*{\glsgroupheading}[1]{}
\renewcommand*{\glossaryentryfield}[4]{
\vspace{0.1cm}
\glsentryuseri{##1}% Symbol
& \si{\glsentryuserii{##1}}% Einheit
& \glstarget{##1}{##2}% Name
\\
}

\renewcommand*{\glossarysubentryfield}[6]{
\glossaryentryfield{##2}{##3}{##4}{##5}{##6}}
\renewcommand*{\glsgroupskip}{}
}


\makeglossaries

\begin{document}

\newglossaryentry{Kraft}{
name={Vektorgröße},
user1={\ensuremath{F}},
user2={\noexpand\newton},
%sort=F
}
\newglossaryentry{Beschleunigung}{
name={Beschleunigung; auch wenn der Text länger wird, ist ein sicherer Umbruch des Textes gewährleistet.},
user1={\ensuremath{a}},
user2={\ensuremath{\frac{m}{s^2}}},
%sort=a
}

\newglossaryentry{Masse}{
name={Masse},
user1={\ensuremath{m}},
user2={\ensuremath{kg}},
%sort=a
}


%Hier beginnt der eigentliche Text
Die Formel für die Kraft lautet
$\glsuseri{Kraft} =  \glsuseri{Masse} \times \glsuseri{Beschleunigung}$
\newpage
\printglossary[style=symbvz,title={Symbolverzeichnis},nonumberlist]
\end{document}
So sieht es zumindest so aus wie ich es mir dachte.
Mal gucken wann diese Variante zu Problemen führt.



Ja, stimmt, Sonne! Da werde ich KOMAs Beispiel mal folgen...

Gast

Beitrag von Gast »

Hallo zusammen,

ich benötige genau das selbe wie woodi (3 Spalten+linkspündig mit tab getrennt). Habe mir die Abschnitte aus dem Code kopiert und bei mir eingefügt. Klappt aber leider nicht.
Nach langen probieren und auskommentieren habe ich die Ursache gefunden.

Es ist das hyperref package. Wenn ich also
\usepackage{hyperref}
in woodi's Beispielcode vom 21.08.2011, 13:24 einfüge bekommen ich viele Fehler.

Lässt sich das Problem lösen oder muss ich auf eins der beiden Pakete verzichten?

Vielen herzlichen Dank für eure Hilfe!!

Gast

Beitrag von Gast »

Hallo Gast,

beim Hyperref-Paket ist es wichtig, dass es als letztes eingebunden wird. Wenn ich in woodi's code das Paket als letztes einbinde, kommen keine Fehler

Antworten