Hallo

Ich nutze das glossaries Paket und hab mir auch schon erfolgreich ein symbolverzeichnis damit erstellen können. Verwende den gls{xxx} Befehl um in Formeln oder im Test diese Symbole zu verwenden. Nun wollte ich dies auch für Tabellen nutzen. Dort sollten diese Fett erscheinen. Ein etwas längeres Minimalcodebeispiel:

Open in Online-Editor
\documentclass[ngerman,a4paper]{scrartcl}

%Einbinden des Glossaries Pakets mit notwendigen Formatierungen
\usepackage[
    nonumberlist, %keine Seitenzahlen anzeigen
    acronym,      %ein Abkürzungsverzeichnis erstellen
    toc,          %Einträge im Inhaltsverzeichnis
    section]      %im Inhaltsverzeichnis auf section-Ebene erscheinen
            {glossaries}

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

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

\newglossarystyle{MyStyle}{
\glossarystyle{long3colheader}
\renewenvironment{theglossary}
{\begin{longtable}{lp{2cm}p{\glsdescwidth}}}
{\end{longtable}}
\renewcommand*{\glossaryheader}{\textbf{Symbol} & \textbf{Einheit} &
\textbf{Beschreibung}\\[3ex]}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3  \\[1ex]}%
}

\newglossaryentry{symb:x}{
    name={\ensuremath{x}},
    symbol=\SI{}{\second\per\meter},
    description={Meine x Zahl},
    sort=symbolx, type=symbolslist
}

\newglossaryentry{symb:R}{
    name={\ensuremath{R}},
    symbol=\SI{}{\joule\per\mol\per\kelvin},
    description={Gaskonstante},
    sort=symbolR, type=symbolslist
}

\usepackage{siunitx}
\sisetup{}

\makeglossaries %Glossar-Befehle anschalten

\begin{document}
Irgendwelcher Text

Die Gaskonstante \gls{symb:R}...

Hier möchte ich das Symbol \textbf{\gls{symb:x}} gern Fett...

Eine Gleichung:

\begin{equation}
    Blablub=\gls{symb:x} \cdot \gls{symb:R}
    \label{equ:MyGLN}
\end{equation}

Eine Tabelle

\begin{table}[htbp]
  \centering
  \caption{Sinnfreie Tabelle}
    \begin{tabular}{cc}
    %\toprule
    \textbf{\gls{symb:x}} & \textbf{\gls{symb:R}}\\
    %\midrule
    \textbf{0} & 1\\
    \textbf{10} & 256\\
    \textbf{100} & 305\\
    %\bottomrule
    \end{tabular}%
  \label{tab:MyTab}%
\end{table}%

\printglossary[type=symbolslist,style=MyStyle]

\end{document}

Die Verwendung im Test und in Formeln geht ohne Probleme, nur eben nicht Fett. Das testbf{} wird einfach ignoriert. Hat jemand eine Idee wie man das ändern kann?

gefragt 29 Jan '15, 06:26

metzelmax's gravatar image

metzelmax
2714
Akzeptiert: 0%


Da die Symbol x und R im Mathemodus gesetzt werden (\ensuremath) muss man \boldmath verwenden um sie Fett zu machen. Eine einfache Lösung wäre als statt

\textbf{\gls{symb:x}}

immer

{\boldmath\gls{symb:x}}

zu schreiben. Im folgenden MWE habe ich eine automatisierte Lösung implementiert, die es erlaubt via \glsbf das Symbol immer fett zu setzen. Außerdem werden Symbole, die innerhalb von table mit \gls referenziert werden auch immer fett gesetzt.

Open in Online-Editor
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
% arara: pdflatex
\documentclass[ngerman,a4paper]{scrartcl}
\pagestyle{empty}

% Einbinden des Glossaries Pakets mit notwendigen Formatierungen
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym,      %ein Abkürzungsverzeichnis erstellen
toc,          %Einträge im Inhaltsverzeichnis
section]      %im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries}

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

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

\newglossarystyle{MyStyle}{
  \glossarystyle{long3colheader}
  \renewenvironment{theglossary}
  {\begin{longtable}{lp{2cm}p{\glsdescwidth}}}
    {\end{longtable}}
  \renewcommand*{\glossaryheader}{\textbf{Symbol} & \textbf{Einheit} &
    \textbf{Beschreibung}\\[3ex]}%
  \renewcommand*{\glossaryentryfield}[5]{%
    \glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3  \\[1ex]}%
}

\newglossaryentry{symb:x}{
  name={\ensuremath{x}},
  symbol=\si{\second\per\meter},
  description={Meine x Zahl},
  sort=symbolx, type=symbolslist
}

\newglossaryentry{symb:R}{
  name={\ensuremath{R}},
  symbol=\si{\joule\per\mol\per\kelvin},
  description={Gaskonstante},
  sort=symbolR, type=symbolslist
}

\usepackage{siunitx}
\usepackage{array}
\usepackage{etoolbox}
\makeatletter
% Backend for bold face
\let\saved@gls@=\@gls@
\newcommand*{\bf@gls}[2][]{%
  \new@ifnextchar[{\bf@gls@{#1}{#2}}{\bf@gls@{#1}{#2}[]}%
}
\newcommand*{\bf@sgls}[1][]{\bf@gls[hyper=false,#1]}
\def\bf@gls@#1#2[#3]{%
  \textbf{\boldmath\saved@gls@{#1}{#2}[#3]}%
}

% Interface
\newrobustcmd*{\glsbf}{\@ifstar\bf@sgls\bf@gls}
\AtBeginEnvironment{table}{\let\@gls@=\bf@gls@}
\makeatother

\makeglossaries %Glossar-Befehle anschalten

\begin{document}
Irgendwelcher Text

Die Gaskonstante \gls{symb:R}...

Hier möchte ich das Symbol \glsbf{symb:x} gern Fett...

Eine Gleichung:

\begin{equation}
    Blablub=\gls{symb:x} \cdot \gls{symb:R}
    \label{equ:MyGLN}
\end{equation}

Eine Tabelle

\begin{table}[htbp]
  \centering
  \caption{Sinnfreie Tabelle}
    \begin{tabular}{>{\bfseries}cc}
    %\toprule
    \gls{symb:x} & \gls{symb:R}\\
    %\midrule
    0 & 1\\
    10 & 256\\
    100 & 305\\
    %\bottomrule
    \end{tabular}%
  \label{tab:MyTab}%
\end{table}%

\printglossary[type=symbolslist,style=MyStyle]

\end{document}

alt text

Permanenter link

beantwortet 29 Jan '15, 07:50

Henri's gravatar image

Henri
10.1k31730

bearbeitet 29 Jan '15, 07:51

Ok, nach längerem Probieren hab ich es vielleciht hinbekommen. Es liegt offensichtlich daran das es sich bei den Symbolen um mathematische ausdrücke handelt. Diese können nicht mit testbf Fett dargestellt werden. Hier hilft das pmb aus dem paket amsmath. Damit ist eine Fett-Darstellung möglich. anstelle textbf{xxx} schreibt man einfach pmb{xxx}.

Einzige unschönheit wäre jetzt noch das die Symbole kursiv angezeigt werden (weil mathe). gibts eine möglichkeit das über eine option zu ändern oder ist das so Typographisch OK?

(29 Jan '15, 07:44) metzelmax

Vielen Dank für die Hilfe. Das funktioniert sehr gut. Ich hab allerdings die automatische Fettschrift in Tabellen rausgenommen da dies auch für die Überschriften galt.

Also danke nochmal:)

(29 Jan '15, 11:51) metzelmax
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×185
×20
×2
×2

Frage gestellt: 29 Jan '15, 06:26

Frage wurde angeschaut: 2,697 Mal

Zuletzt aktualisiert: 29 Jan '15, 14:49