Bei einem Glossar wird die Tabelle von long3col (und allen ähnlich formatierten Tabellen) mitgezählt, obwohl es keine Tabellenbeschriftung gibt (was auch nicht wirklich sinnvoll ist). Damit ist die Nummer der ersten Tabelle "Nr. 2" (was nicht sinnvoll ist).

Mit \addtocounter{table}{-1} lässt sich das zwar beheben, aber geht das nicht irgendwie auch einfacher und logischer?

Open in Online-Editor
\documentclass{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}    
\usepackage{hyperref}    
\usepackage[nopostdot]{glossaries} 
\usepackage{glossary-long}
    \setglossarystyle{long3col}
    \makenoidxglossaries

\newglossaryentry{gls:ABC}{name={ABC},description={Katze lief im Schnee}}

\begin{document}
% \addtocounter{table}{-1}
\listoftables

\printnoidxglossary[title={Abkürzungen}]

Abkürzung \gls{gls:ABC}

\begin{table}[bht]
\caption{Beispieltabelle}
\begin{tabular}{rr}
A & B 
\end{tabular}
\end{table}

\end{document}

gefragt 03 Feb '15, 05:42

BraBra's gravatar image

BraBra
429515
Akzeptiert: 88%


glossaries lädt automatisch das Paket glossary-long, wenn man das nicht durch die Paketoption nolong verhindert. glossary-long lädt wiederum das Paket longtable und setzt bei dem Glossarstil long3col das Verzeichnis als longtable. Allerdings erhöht jede longtable den Tabellenzähler um 1, auch wenn darin kein \caption Befehl vorkommt.

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}

\usepackage[nopostdot]{glossaries}
\setglossarystyle{long3col}%
\makenoidxglossaries

\newglossaryentry{gls:ABC}{name={ABC},description={Katze lief im Schnee}}

\begin{document}
\listoftables
\printnoidxglossary[title={Abkürzungen}]
\section{Abschnitt}
\begin{longtable}{l}
Testtabelle ohne Beschriftung
\end{longtable}
Abkürzung \gls{gls:ABC}
\begin{table}[bht]
\caption{Beispieltabelle}
\begin{tabular}{rr}
A & B 
\end{tabular}
\end{table}
\end{document}

Wenn man dieses Verhalten ändern möchte, dann kann man das Paket ltcaption laden und die longtable Umgebung durch eine longtable* Umgebung ersetzen. Zu beachten ist, dass ltcaption nach longtable geladen werden muss, in dem Fall also nach glossaries. Die originale Definition der theglossary Umgebung für den long3col Stil findet man in der glossary-long.sty als

Open in Online-Editor
  \renewenvironment{theglossary}%
    {\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}%
    {\end{longtable}}%

Das kann man nach dem Setzen des Stils long3col so umdefinieren, dass die Sternvariante von longtable verwendet wird.

Open in Online-Editor
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}

\usepackage[nopostdot]{glossaries}
\usepackage{ltcaption}
\setglossarystyle{long3col}
\renewenvironment{theglossary}%
  {\begin{longtable*}{lp{\glsdescwidth}p{\glspagelistwidth}}}%
  {\end{longtable*}}%
\makenoidxglossaries

\newglossaryentry{gls:ABC}{name={ABC},description={Katze lief im Schnee}}

\begin{document}
\listoftables
\printnoidxglossary[title={Abkürzungen}]
\section{Abschnitt}
\begin{longtable*}{l}
Testtabelle ohne Beschriftung
\end{longtable*}
Abkürzung \gls{gls:ABC}
\begin{table}[bht]
\caption{Beispieltabelle}
\begin{tabular}{rr}
A & B 
\end{tabular}
\end{table}
\end{document}
Permanenter link

beantwortet 03 Feb '15, 15:27

esdd's gravatar image

esdd
14.2k53251

bearbeitet 03 Feb '15, 15:36

Ist das Verhalten so denn gewollt? Das klingt eher, als sollte man Nicola mal fragen, ob das in den glossaries-Internals geändert wird.

(03 Feb '15, 16:08) Johannes
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:

×20

Frage gestellt: 03 Feb '15, 05:42

Frage wurde angeschaut: 2,003 Mal

Zuletzt aktualisiert: 03 Feb '15, 16:08