Seite 1 von 1
listoftables zählt glossar mit
Verfasst: Di 30. Okt 2018, 17:40
von thecrazygerman
N'Abend
Mein Problem ist, dass im Tabellenverzeichnis anscheinend das glossar mitgezählt wird. Und nebenbei verstehe ich auch nicht was mit \vref los ist
Hat jemand eine Idee wie man das wieder hinbiegt?
Grüße
\documentclass[12pt,a4paper]{article}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß}
}
\usepackage[ngerman]{babel}
\usepackage{parskip}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[ % für glossaries
automake, %ruft makeindex automatisch auf, ersetzt sanitize
toc, %Verzeichnis erscheint im Inhaltsverzeichnis
section, %erscheint auf Section Ebne
nopostdot, %kein Punkt am ende der Zeile
]{glossaries}
\usepackage[ngerman]{varioref} % siehe cleveref
%\usepackage{hyperref} % siehe cleveref
\usepackage[ngerman,noabbrev]{cleveref} % die 3 ref-Packete zusammen ermöglichen Verweise mit Seitenzahl und Benennung (Abbildung, Kapitel, Abschnitt)
\newglossary
[fog] %Name der log Datei
{formel} %Wichtig für mehrere Verz., um bei \print... zu unterscheiden
{foi} %Dateiendung für während kombilieren entstehende neue Dateien
{foo} %Dateiendung für während kombilieren entstehende neue Dateien
{Formelzeichen}
\newglossarystyle{mytab}{% Name des neuen style
\renewenvironment{theglossary}%definiert eine vorhandene "Umgebung", hier {theglossary}, neu
{%
\begin{longtable}[l]{@{}*3{p{\dimexpr (\textwidth-7\tabcolsep)/3}}@{}} %versteh ich nicht, siehe Forum
}
{\end{longtable}}
\renewcommand*{\glossaryheader}{% Kopf der Tabelle
\bfseries Zeichen & \bfseries Einheit & \bfseries Bedeutung\\
\endhead
}
\renewcommand*{\glsgroupheading}[1]{}% kein Abstand zwischen Gruppen
\renewcommand*{\glossentry}[2]{%
\glstarget{##1}{\glossentrysymbol{##1}}%<-- Symbol
& \glsentryuseri{##1}%<-- Einheit
& \glossentrydesc{##1}%<-- Name
\tabularnewline}
\renewcommand*{\glsgroupskip}{\relax}%
}
\makeglossaries
% \newglossaryenry definiert die Einträge im Glossar
\newglossaryentry{I}{%
symbol={$I$},
name={$I$},
description={Strom},
type=formel,
user1={$A$}}
\begin{document}
\printglossary[title=Formelzeichen, type=formel, style=mytab]
%%%
\listoftables
Der Verweis \verb|\vref{Tab:eins}|liefert \vref{Tab:eins}.
\gls{I}
\begin{table}[htb]
\centering
\label{Tab:eins}
\fbox{%
\begin{tabular}{ll}
Parameter & Werte \\
\end{tabular}}
\caption{Tabelle 1}
\end{table}
%%%
\begin{table}[htb]
\centering
\label{Tab:zwei}
\fbox{%
\begin{tabular}{ll}
Parameter & Werte \\
\end{tabular}}
\caption{Tabelle 2}
\end{table}
\end{document}
Verfasst: Di 30. Okt 2018, 17:54
von Gast
longtable setzt den table-Zähler selbst um 1 hoch, während bei der table-Umgebung erst \caption den Zähler ändert, weshalb dort \label auch nach \caption stehen muss.
\documentclass[12pt,a4paper]{article}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß}
}
\usepackage[ngerman]{babel}
\usepackage{parskip}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[ % für glossaries
automake, %ruft makeindex automatisch auf, ersetzt sanitize
toc, %Verzeichnis erscheint im Inhaltsverzeichnis
section, %erscheint auf Section Ebne
nopostdot, %kein Punkt am ende der Zeile
]{glossaries}
\usepackage[ngerman]{varioref} % siehe cleveref
%\usepackage{hyperref} % siehe cleveref
\usepackage[ngerman,noabbrev]{cleveref} % die 3 ref-Packete zusammen ermöglichen Verweise mit Seitenzahl und Benennung (Abbildung, Kapitel, Abschnitt)
\newglossary
[fog] %Name der log Datei
{formel} %Wichtig für mehrere Verz., um bei \print... zu unterscheiden
{foi} %Dateiendung für während kombilieren entstehende neue Dateien
{foo} %Dateiendung für während kombilieren entstehende neue Dateien
{Formelzeichen}
\newglossarystyle{mytab}{% Name des neuen style
\renewenvironment{theglossary}%definiert eine vorhandene "Umgebung", hier {theglossary}, neu
{%
\addtocounter{table}{-1}%
\begin{longtable}[l]{@{}*3{p{\dimexpr (\textwidth-7\tabcolsep)/3}}@{}} %versteh ich nicht, siehe Forum
}
{\end{longtable}}
\renewcommand*{\glossaryheader}{% Kopf der Tabelle
\bfseries Zeichen & \bfseries Einheit & \bfseries Bedeutung\\
\endhead
}
\renewcommand*{\glsgroupheading}[1]{}% kein Abstand zwischen Gruppen
\renewcommand*{\glossentry}[2]{%
\glstarget{##1}{\glossentrysymbol{##1}}%<-- Symbol
& \glsentryuseri{##1}%<-- Einheit
& \glossentrydesc{##1}%<-- Name
\tabularnewline}
\renewcommand*{\glsgroupskip}{\relax}%
}
\makeglossaries
% \newglossaryenry definiert die Einträge im Glossar
\newglossaryentry{I}{%
symbol={$I$},
name={$I$},
description={Strom},
type=formel,
user1={$A$}}
\begin{document}
\printglossary[title=Formelzeichen, type=formel, style=mytab]
%%%
\listoftables
\section{Test}
Der Verweis \verb|\vref{Tab:eins}|liefert \vref{Tab:eins}.
\gls{I}
\begin{table}[htb]
\centering
\fbox{%
\begin{tabular}{ll}
Parameter & Werte \\
\end{tabular}}
\caption{Tabelle 1}
\label{Tab:eins}
\end{table}
%%%
\begin{table}[htb]
\centering
\fbox{%
\begin{tabular}{ll}
Parameter & Werte \\
\end{tabular}}
\caption{Tabelle 2}
\label{Tab:zwei}
\end{table}
\end{document}
Bei aktuellem LaTeX ist übrigens utf8 voreingestellt und man brauch selinput mit seinem Befehl \SelectInputMappings nicht mehr, wenn man diese (bei modernen Editoren voreingestellte) Codierung verwendet.
Verfasst: Di 30. Okt 2018, 18:10
von Bartman
Du darfst die Option für die Sprache auch beim Laden der Dokumentklasse angeben. Sie wirkt dann auf alle Pakete, die von ihr beeinflusst werden.
Verfasst: Di 30. Okt 2018, 18:14
von thecrazygerman
Vielen Dank für die Hilfe!!! Perfekt!
Re: listoftables zählt glossar mit
Verfasst: Mi 24. Jun 2020, 11:20
von markusv
Trotz, dass der Thread schon etwas älter ist, nochmal eine Frage dazu: gibt es eine Möglichkeit, das Hochzählen des Zählers table durch longtable zu verhindern? Im oberen Beispiel beginnt ja die eigentliche erste Tabelle auch mit Tabelle 2, was ja unsinnig ist.
Ich hätte es mit einem \setcounter{table}{0} nach der Ausgabe gelöst, das scheint mir aber nicht die sauberste Lösung. In der Doku zu longtable habe ich leider nichts gefunden.
Re: listoftables zählt glossar mit
Verfasst: Mi 24. Jun 2020, 14:38
von KOMA (als gast)
markusv hat geschrieben: ↑Mi 24. Jun 2020, 11:20
Trotz, dass der Thread schon etwas älter ist, nochmal eine Frage dazu: gibt es eine Möglichkeit, das Hochzählen des Zählers table durch longtable zu verhindern?
Leider nicht. Das zugehörige \refstepcounter ist in \LT@array fest verdrahtet. Man müsste also diese Anweisung patchen.
Besser sieht es aus, wenn man xltabular verwendet. Dort gilt: Kein \caption, keine Erhöhung des Zählers.
So gesehen gibt es also schon eine recht einfache Lösung xltabular verwenden.