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}
Bild

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.