PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellennummerierung



DungeonRW
04-01-2010, 09:21
Hallo zusammen und ein gutes neues Jahr,

ich habe ein, hoffentlich, kleines Problem mit der Nummerierung von Tabellen. Wenn ich zwei Tabellen auf einer Seite habe, dann bekommen diese die selbe Nummer, z.B. Tabelle 4.1.
Tabellen erstelle ich wie folgt:


\begin{table}[Hht]
\captionsetup{singlelinecheck=false}
\captionsetup{font={small,bf}}
\captionsetup[figure]{labelfont=small}
\caption{Tabelle}
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{tabular}

\raggedright{Quelle: Eigener Entwurf}
\label{tab:tab}
\end{table}

Wenn sich eine Abbildung und eine Tabelle auf einer Seite befinden, dann tritt dieses Problem nicht auf. Ich hoffe Ihr könnt mir helfen.
Hier noch meine Dokumentenklasse:

\documentclass[pdftex, 12pt, titlepage, twoside]{scrartcl}

Xenara
04-01-2010, 09:37
Mach doch bitte ein komplettes Minimalbeispiel (http://www.mrunix.de/forums/showthread.php?t=66921), das deinen Fehler zeigt.
Und benutze bitte die Code-Umgebung, und nicht PHP, denn das verschluckt alle "\".

voss
04-01-2010, 09:45
ich habe ein, hoffentlich, kleines Problem mit der Nummerierung von Tabellen. Wenn ich zwei Tabellen auf einer Seite habe, dann bekommen diese die selbe Nummer, z.B. Tabelle 4.1.


dann hast du einmal ein \label _vor_ \caption. Es muss aber imemr _nach_
-- \caption stehen. Abgesehen davon:
[Hht] ist falsch ...
--\captionsetup gehört in die Präambel, wenn es nicht zufällig für eine
einzige Tabelle gelten soll.
-- pdftex kannst du als Option weglassen.

Herbert

DungeonRW
04-01-2010, 10:13
So nun habe ich mal ein Minimalbeispiel gemacht bei dem der Fehler auftaucht:



\documentclass[pdftex, 12pt, titlepage, twoside]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{booktabs}


%AbbVZ
\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ figure}}
\makeatletter
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\makeatother

\begin{document}
\section{Test}
Im Folgenden nun 2 Tabellen
\begin{table}[Hht]
\captionsetup{singlelinecheck=false}
\captionsetup{font={small,bf}}
\captionsetup[figure]{labelfont=small}
\caption{Tabelle1}
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{tabular}

\raggedright{Quelle: Eigener Entwurf}
\label{tab:tab1}
\end{table}\\

\begin{table}[Hht]
\captionsetup{singlelinecheck=false}
\captionsetup{font={small,bf}}
\captionsetup[figure]{labelfont=small}
\caption{Tabelle2}
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{tabular}

\raggedright{Quelle: Eigener Entwurf}
\label{tab:tab2}
\end{table}\\
\end{document}


Sobald ich das Folgende auskommentiere ist die Nummerierung korrekt, jedoch fortlaufend. Ich sollte es eben mit Kapitel.Nummer haben.


%AbbVZ
\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ figure}}
\makeatletter
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\makeatother

Jemand eine Idee, wie ich das dennoch in bekomme?

Danke

voss
04-01-2010, 10:24
So nun habe ich mal ein Minimalbeispiel gemacht bei dem der Fehler auftaucht:



\documentclass[pdftex, 12pt, titlepage, twoside]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{booktabs}

%AbbVZ
\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ figure}}


\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ table}}

Herbert

Xenara
04-01-2010, 10:35
Hi,

danke für das MB :)
So war das Problem gut und einfach nachvollziehbar. Du hast bei den renewcommands für figure und table zweimal den Zähler figure angegeben, deshalb gings schief. So klappts:


\documentclass[12pt, titlepage, twoside]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{booktabs}


%AbbVZ
\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ table}}
\makeatletter
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\makeatother

\begin{document}
\section{Test}
Im Folgenden nun 2 Tabellen
\begin{table}[H]
\captionsetup{singlelinecheck=false}
\captionsetup{font={small,bf}}
\captionsetup[figure]{labelfont=small}
\caption{Tabelle1}
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{tabular}

\raggedright{Quelle: Eigener Entwurf}
\label{tab:tab1}
\end{table}\\

\begin{table}[H]
\captionsetup{singlelinecheck=false}
\captionsetup{font={small,bf}}
\captionsetup[figure]{labelfont=small}
\caption{Tabelle2}
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\end{tabular}

\raggedright{Quelle: Eigener Entwurf}
\label{tab:tab2}
\end{table}

\end{document}

Ich habe die Anmerkungen von Herbert versucht, hier schonmal ein Stück weit einzubauen, du musst aber schauen, ob das für deine Zwecke so passt.

Edit: Zu langsam...

DungeonRW
04-01-2010, 10:35
Vielen Dank!

sommerfee
04-01-2010, 12:40
Noch ein paar ergänzende Hinweise:



%AbbVZ
\renewcommand{\thefigure}{\arabic{section}.\arabic {figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{ table}}
\makeatletter
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\makeatother


Stattdessen kann man auch


\captionsetup{figurewithin=section,tablewithin=sec tion}

schreiben, bei aktuelleren Versionen des caption-Paketes reicht sogar


\captionsetup{within=section}


Zum nächsten Punkt:


\captionsetup[figure]{labelfont=small}


Dies ist nicht nur innerhalb einer "table"-Umgebung sinnlos, sondern auch innerhalb einer "figure"-Umgebung, weil die Optionen "zu spät" angegeben werden. Bei \begin{figure} wäre der Drops schon geluscht.

Außerdem würde ich das \label{...} immer direkt nach \caption setzen. Ansonsten kann es schief gehen, wenn man irgendwas innerhalb der "table"-Umgebung hat, was ebenfalls eine Referenz erzeugt.

Liebe Grüße,
Axel