listoftables zählt glossar mit

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


thecrazygerman
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: So 24. Mai 2015, 01:35

listoftables zählt glossar mit

Beitrag 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
Dateianhänge
mini.PNG
mini.PNG (17.7 KiB) 8590 mal betrachtet
Nur beschränkt fähig Englisch zu verstehen.

Gast

Beitrag 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.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.

thecrazygerman
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: So 24. Mai 2015, 01:35

Beitrag von thecrazygerman »

Vielen Dank für die Hilfe!!! Perfekt!
Nur beschränkt fähig Englisch zu verstehen.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Re: listoftables zählt glossar mit

Beitrag 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.

Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

KOMA (als gast)

Re: listoftables zählt glossar mit

Beitrag 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.


Antworten