PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \addtocounter{table}{-1}: Warnungen unterdrücken??



alex0801
23-08-2007, 10:13
Hallo,

ich habe, um einige Dinge in meiner Ausarbeitung schicker formatieren zu können, Tabellen benutzt. Das sieht in etwa so aus:

http://img168.imageshack.us/img168/5389/screenshotmy8.th.jpg (http://img168.imageshack.us/my.php?image=screenshotmy8.jpg)

Da ich jede Menge von solchen Formatierungstabellen hab, hab ich mir dazu Befehle gestrickt. Hier ein Beispiel:



\newcommand\createCR[5]{
\addtocounter{table}{-1}
\begin{longtable}{>{\columncolor{TableHeadGray}}V{2.7cm}|p{10cm}}
%\hline
\textbf{\textit{CR#1}} & \textbf{\textit{#2}} \tabularnewline\tabularnewline
\textbf{Verfolgt} & #3 \tabularnewline\tabularnewline
\textbf{Begründung} & #4 \tabularnewline\tabularnewline
\textbf{Kriterium} & #5 \tabularnewline
%\hline
\end{longtable}
}


Das ist vielleicht nicht besonders elegant, aber es macht das was es soll.

Damit diese "Tabellen" jedoch nicht im Tabellenverzeichnis auftauchen, habe ich



\addtocounter{table}{-1}


eingesetzt. Das produziert jetzt einen haufen Warnungen die etwas "unschön" beim compilieren des Dokuments sind. Ein Beispiel für so eine Warnung:



destination with same identifier (name{table.2.0}) has already used, duplicate ignored


Das Dokument an sich stört das nicht. Nur eben mich beim compilieren.

Gibts eine Möglichkeit das "eleganter" zu lösen, ohne für die Formatierung doch nicht auf Tabellen zu setzen?

Gruß
Alex

bischi
23-08-2007, 14:09
1) Solange du keine Caption machst, taucht die Tabelle auch nicht im Tabellenverzeichnis auf (darum funktioniert dein Beispiel).

2) Nur den Tabellencounter (heisst übrigens thetable und nicht table) zurücksetzen verhindert den Eintrag nicht - führt allerdings zu komischer Nummerierung...

MfG Bischi

alex0801
23-08-2007, 14:24
Ja, stimmt, Sorry. Hintergrund der ganzen Sache war nicht das Erscheinen im Index, sondern die falsche Nummerierung aller weiteren Tabellen. Deshalb hatte ich den Zähler zurückgesetzt.

Gibts da was was mit die Warnungen verhindert? Eine "elegantere" Lösung?

bischi
23-08-2007, 14:32
hmm - soweit ich mich errinnere, wird da gar nicht hochgezählt, wenn du keine caption hinschreibst...

Im Zweifelsfall wie gesagt:


\addtocounter{thetable}{-1}

MfG Bischi

bobmalaria
23-08-2007, 15:45
hallo,

ich glaube bei longatable wird mit oder ohne caption hochgezählt. deshalb ist wohl für die richtige nummerierung der normalen tabellen obiger code nötig.

alex0801
23-08-2007, 17:07
Im Zweifelsfall wie gesagt:


\addtocounter{thetable}{-1}

MfG Bischi

Wenn ich das "the" ergänze, dann krieg ich nicht nur Warnungen, sondern Fehler:



no counter 'thetable' defined.



Das heißt ich werd mit den Warnungen leben müssen?

- Alex

rais
23-08-2007, 22:42
Moin moin,

Wenn ich das "the" ergänze, dann krieg ich nicht nur Warnungen, sondern Fehler:

Dein `table´ war schon korrekt, `\thetable´ ist ein Befehl, der den Inhalt von eben diesem `table´-Zähler wiedergeben soll, ggf. incl. des entsprechenden Kapitels (so nicht dran gedreht wurde).


Das heißt ich werd mit den Warnungen leben müssen?

Nö, aber Du hättest gerne ein paar mehr Informationen liefern können -- diese Warnung(en) tauchen bei mir z. B. nur dann auf, wenn ich (zusätzlich zu der Zählermanipulation) hyperref lade und per pdflatex kompiliere...
Ich gehe mal davon aus, daß Du weniger als 10000 `normale´ Tabellen in Deinem Dokument hast;-)


\newcounter{ltcnt}
\newcounter{ltrem}
\setcounter{ltcnt}{10000}
\newcommand\createCR[5]{
% \addtocounter{table}{-1}
\stepcounter{ltcnt}
\setcounter{ltrem}{\value{table}}
\setcounter{table}{\value{ltcnt}}
\begin{longtable}{>{\columncolor{TableHeadGray}}V{2.7cm}|p{10cm}}
(..)
\end{longtable}
\setcounter{table}{\value{ltrem}}
}

MfG,

bischi
23-08-2007, 22:57
Dein `table´ war schon korrekt, `\thetable´ ist ein Befehl, der den Inhalt von eben diesem `table´-Zähler wiedergeben soll, ggf. incl. des entsprechenden Kapitels (so nicht dran gedreht wurde).


Sorry - mein Fehler :D

MfG Bischi

alex0801
24-08-2007, 08:49
@Rais

Sorry wegen den "fehlenden" Zusatzinfos. Wusste nicht dass das in zusammenhang steht.
Sowas ähnliches (temporärer counter) hab ich gestern auch noch "probiert". Allerdings ohne Erfolg. Deine Variante klappt aber bestens.

Danke,
Alex