Symbolverzeichnis mit Glossaries

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Symbolverzeichnis mit Glossaries

von u_fischer » Fr 5. Feb 2016, 12:53

Nick92 hat geschrieben: \glossaryentryfield habe ich in einem Forenbeitrag gefunden; ich dachte das wäre der Befehl, für den Spalteneintrag. Aber dann werde ich zukünftig \glossentry verwenden.
War wahrscheinlich alt. In glossaries-code.pdf steht dazu "This command formerly governed how each entry row should be formatted in the glossary.
Now deprecated." Grundsätzlich solltest du dich nicht auf Foren verlassen, überprüfe solche Befehle in der Dokumentation.

von Nick92 » Fr 5. Feb 2016, 12:10

Hey vielen Dank für die Rückmeldung.
Mit deinem Code bekomme ich nun genau das, was ich haben wollte.

\glossaryentryfield habe ich in einem Forenbeitrag gefunden; ich dachte das wäre der Befehl, für den Spalteneintrag. Aber dann werde ich zukünftig \glossentry verwenden.

von u_fischer » Fr 5. Feb 2016, 10:08

Ich weiß ja nicht, woher du \glossaryentryfield hast. Wenn ich mich an der long3colheader Definition orientiere muss es etwa so aussehen (subentry habe ich nicht angepasst und nicht getestet):
\documentclass[12pt,a4paper,oneside]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{textcomp}

\usepackage[nonumberlist,nomain,section=section]{glossaries}

\newglossary[lsg]{Latein}{lsi}{lso}{Lateinische Symbole}
\newglossary[gsg]{Griechisch}{gsi}{gso}{Griechische Symbole}
\newglossary[isg]{Indizes}{isi}{iso}{Indizes}
\makeglossaries
\renewcommand{\glspostdescription}{}



\newglossarystyle{Mystyle}{%
  \renewenvironment{theglossary}%
    {\begin{longtable}[l]{@{}lp{10cm}l}}% [l]= linksbündige longtable, 
                                                              %@{}= kein Abstand vor erster Spalte
    {\end{longtable}}%
  \renewcommand*{\glossaryheader}{%
    \bfseries Symbol&\bfseries\descriptionname&
    \bfseries Einheit\tabularnewline\endhead}%
  \renewcommand*{\glsgroupheading}[1]{}%
  \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \glossentrydesc{##1} & \glossentrysymbol{##1}\tabularnewline
  }%
  \renewcommand{\subglossentry}[3]{% evtl noch anpassen
     &
     \glssubentryitem{##2}%
     \glstarget{##2}{\strut}\glossentrydesc{##2} &
     ##3\tabularnewline
  }%
  \renewcommand*{\glsgroupskip}{%
    \ifglsnogroupskip\else & &\tabularnewline\fi}%
}

\begin{document}
\newcounter{myCounter}
\setcounter{myCounter}{3}
\begin{tabular}{cl*{\value{myCounter}}{c}c}
& \multicolumn{\value{myCounter}\relax}{c}
    {agglutinate} & \\\cline{2-\numexpr\value{myCounter}+1\relax} % Here is the naive part
init & content1 & content2 & content3 & end \\
\end{tabular}

\addchap{Häufig verwendete Symbole}

\printglossary[type=Latein,title={Lateinische Symbole}, style=Mystyle]
\printglossary[type=Griechisch,title={Griechische Symbole}, style=Mystyle]
\printglossary[type=Indizes,title={Indizes}, style=Mystyle]

\newglossaryentry{Standardbedingungen}{name=$0$, description={Standardbedingungen}, symbol={-},  type=Indizes}
\newglossaryentry{Kreiszahl}{name=$\pi$, description={Kreiszahl Pi}, symbol={-}, type=Griechisch}
\newglossaryentry{Geschw}{name=$h$, description={Geschwindigkeit}, symbol={$\frac{m}{s}$}, type=Latein}

\gls{Kreiszahl}, \gls{Standardbedingungen}, \gls{Geschw}

\end{document}

von Nick92 » Fr 5. Feb 2016, 08:42

Ich hab noch ein bisschen daran rumgebastelt und jetzt sieht es fast so aus, wie ich es gerne hätte.

Ich weiss zwar nicht wieso, aber ich muss für ein dreispaltiges Verzeichnis vier Spalten angeben, wobei aber nur in den ersten 3 etwas steht. Ansonsten schreibt mir das Programm immer das letzte Argument doppelt.
Einmal in die richtige Spalte (3. Spalte) und einmal auf der nächsten Zeile in die falsche Spalte (1. Spalte).

Beispielbild:

Bild
\renewcommand*{\glossaryentryfield}[4]{%
    \glstarget{##1}{##2} %erste Spalte
    & \glossentrydesc{##1} %zweite Spalte
    & \glossentrysymbol{##1} %dritte Spalte
    \\[1ex]}
Die Tabelle sieht nun auch einigermaßen annehmbar aus. Ich habe die Größe der Spalten manuell gesetzt. Allerdings sieht das für mich nicht wirklich linksbündig aus.

Wie bekomme ich das hin, dass das Verzeichnis linksbündig steht?
\documentclass[12pt,a4paper,oneside]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{textcomp}

\usepackage[nonumberlist,nomain,section=section]{glossaries}

\newglossary[lsg]{Latein}{lsi}{lso}{Lateinische Symbole}
\newglossary[gsg]{Griechisch}{gsi}{gso}{Griechische Symbole}
\newglossary[isg]{Indizes}{isi}{iso}{Indizes}
\makeglossaries
\renewcommand{\glspostdescription}{}

\newglossarystyle{Mystyle}{
  \renewenvironment{theglossary}
  {\begin{longtable}{p{2cm}p{10cm}p{4cm}}}
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{}
  \renewcommand*{\glossaryentryfield}[4]{%
    \glstarget{##1}{##2} %erste Spalte
    & \glossentrydesc{##1} %zweite Spalte
    & \glossentrysymbol{##1} %dritte Spalte
    \\[1ex]}
}

\begin{document}

\addchap{Häufig verwendete Symbole}

\begin{flushleft}
\printglossary[type=Latein,title={Lateinische Symbole}, style=Mystyle]
Hallo ich stehe linksbündig aber das Verzeichnis nicht.
\printglossary[type=Griechisch,title={Griechische Symbole}, style=Mystyle]
\printglossary[type=Indizes,title={Indizes}, style=Mystyle]
\end{flushleft}

\newglossaryentry{Standardbedingungen}{name=$0$, description={Standardbedingungen}, symbol={-},  type=Latein}
\newglossaryentry{Kreiszahl}{name=$\pi$, description={Kreiszahl Pi}, symbol={-}, type=Griechisch}
\newglossaryentry{Geschw}{name=$h$, description={Geschwindigkeit}, symbol={$\frac{m}{s}$}, type=Latein}

\gls{Kreiszahl}, \gls{Standardbedingungen}, \gls{Geschw}



\end{document} 

Symbolverzeichnis mit Glossaries

von Nick92 » Do 4. Feb 2016, 15:43

Hey Leute,

ich habe folgendes Problem:

Ich bin noch LaTex-Anfänger und versuche ein Symbolverzeichnis mithilfe von glossaries zu erstellen. Dieses soll 3 Spalten haben: Symbol, Beschreibung, Einheit

Mit meinem Code habe ich 2 Probleme:

1. Wie kann ich die Platzierung/Größe der Spalten ändern?
Ich hätte die Tabelle gerne linksbündig und mehr Platz für die Beschreibung.

2. Obwohl ich für jedes Verzeichnis bis jetzt nur 1 Symbol erstellt habe, setzt mit das Programm die Einheit der ersten Zeile auf die Position des Symbols in der zweiten Zeile. Wie geht das wieder weg?

Ich verwende Texmaker und MikTex und habe mir den Perl Interpreter für glossaries geladen (alles auf Windows 10).

Hier mein Minimalbeispiel:
\documentclass[12pt,a4paper,oneside]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{textcomp}

\usepackage[nonumberlist,nomain,section=section]{glossaries}

\newglossary[lsg]{Latein}{lsi}{lso}{Lateinische Symbole}
\newglossary[gsg]{Griechisch}{gsi}{gso}{Griechische Symbole}
\newglossary[isg]{Indizes}{isi}{iso}{Indizes}
\makeglossaries
\renewcommand{\glspostdescription}{}

\newglossarystyle{Mystyle}{
  \renewenvironment{theglossary}
  {\begin{longtable}{lp{8cm}lp{4cm}}}%Wie funktioniert diese Zeile?
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{Symbol & Beschreibung & Einheit \\[1ex]\endhead}
  \renewcommand*{\glossaryentryfield}[3]{%
    \glstarget{##1}{##2} %erste Spalte
    & \glossentrydesc{##1} %zweite Spalte
    & \glossentrysymbol{##1} %dritte Spalte
    \\[1ex]}
}

\begin{document}

\addchap{Häufig verwendete Symbole}

\printglossary[type=Latein,title={Lateinische Symbole}, style=Mystyle]
\printglossary[type=Griechisch,title={Griechische Symbole}, style=Mystyle]
\printglossary[type=Indizes,title={Indizes}, style=Mystyle]

\newglossaryentry{Standardbedingungen}{name=$0$, description={Standardbedingungen}, symbol={-},  type=Indizes}
\newglossaryentry{Kreiszahl}{name=$\pi$, description={Kreiszahl Pi}, symbol={-}, type=Griechisch}
\newglossaryentry{Geschw}{name=$h$, description={Geschwindigkeit}, symbol={$\frac{m}{s}$}, type=Latein}

\gls{Kreiszahl}, \gls{Standardbedingungen}, \gls{Geschw}



\end{document}
Vielen Dank schonmal!

Nach oben