Ich versuche mir gerade für meine Tabellen eigene Befehle zu erstellen, um mit Tipparbeit zu ersparen. Jedoch stosse ich dabei auf folgende Unstimmigkeit, dass bei der ersten Tabelle die erste Spalte der Kopfzeile (A) nicht genau zentriert wird. Anscheinend ist nocht ein Leerzeichen hinter dem A vorhanden. Aber woher kommt es?

Die erste Tabelle erzeuge ich jedoch unter Verwendung einer eigenen Umgebung.

Anbei mein Minimalbeispiel:

Open in writeLaTeX
\documentclass{scrreprt}

\usepackage{booktabs, longtable, tabu}

%% #1 Number of columns
%% #2 Column definitions
%% #3 Header
\newenvironment{MyLongtable}[3]{%
\begin{longtabu} to \textwidth {#2}%
%---------- Table head on first page ----------
\toprule
#3\\
\midrule
\endfirsthead
%
%---------- Table head on other pages ----------
\multicolumn{#1}{l}{\tiny ...continued from previous page...}\\
\toprule
#3\\
\midrule
\endhead
%
%---------- Table footer ----------
\hline
\multicolumn{#1}{r}{\tiny ...continue on next page...}\\
\endfoot
%
%---------- Table footer on last page ----------
\bottomrule
\endlastfoot
}{\end{longtabu}}

\begin{document}

Bei dieser Tabelle ist die erste Spalte der Kopfzeile nicht genau zentriert.

\begin{MyLongtable}{2}{cc}{A & B}
AAAAA & BBBBB
\end{MyLongtable}

Bei dieser Tabelle ist alles in Ordnung:

\begin{longtabu}{cc}
\toprule
A & B\\
\midrule
AAAAA & BBBBB\\
\bottomrule
\end{longtabu}
\end{document}

Hat jemand eine Idee?

gefragt 05 Jul '14, 12:06

dzaic's gravatar image

dzaic
631104853
Akzeptiert-Rate: 42%

bearbeitet 08 Jul '14, 09:48

2

Die Zeile \addtocounter{table}{-1} führt Dir versteckte Leerzeichen ein. Wenn Du sie auskommentierst, wirst Du sehen, dass die Zentrierung wieder stimmt. Wieso hast Du sie überhaupt drin?

(05 Jul '14, 12:37) cgnieder

Ich kann mir vorstellen, das Erniedrigen des Zählers liegt daran, dass doppelt gezählt wurde, wenn longtable und table versehentlich geschachtelt wurden, und das so "repariert" wurde, nur als Vermutung ins Blaue.

(05 Jul '14, 12:44) stefan ♦♦
1

@stefan Möglich. Natürlich gehört eine longtable nicht in eine Gleitumgebung, wenn das also der Grund ist, dann sollte die Zeile einfach eintfernt werden.

(05 Jul '14, 14:07) cgnieder

Eigentlich ist das ja kein Problem von longtabu wie die Frage impliziert, sondern ein Problem der Definition der eigenen Umgebung. Ein Fall von: Ich habe zusätzliche Leerzeichen/Einzüge in meinem Text, die da nicht hingehören. Woher kommen die?

(07 Jul '14, 07:51) gast3

Herzlichen Dank für die Unterstützung.

@clemens Da bei jeder Verwendung von longtable der Zähler hochgesetzt wird, ich jedoch captionof verwende, muss ich den Zähler zurücksetzen.

@Ijon Tichy Du hast absolut Recht. Ich werde versuchen meinen Titel zu ändern.

(07 Jul '14, 08:09) dzaic
2

@dzaic Und warum verwendest Du \captionof? Du solltest \caption verwenden.

(07 Jul '14, 08:11) gast3

@Ijon Tichy Weil ich keine Gleichumgebung wünsche und \caption nur in dieser funktioniert.

(08 Jul '14, 08:34) dzaic
2

@dzaic Du liegst falsch. longtabu wie schon longtable bieten ebenfalls \caption. Direkt am Anfang der Erklärung zu longtabu in der tabu-Anleitung wird das explizit erwähnt und dort auf die longtable-Anleitung verwiesen, die das auch zeigt. Nicht zu vergessen, Tabelle 7 der longtable-Anleitung, die die interessantesten Aspekte noch einmal zusammenfasst.

(08 Jul '14, 08:42) gast3

@Ijon Tichy Du hast absolut Recht! Irgendwie habe ich die wichtigsten Passagen der Anleitungen nicht gründlich genug gelesen. Werde meine Lösung dank deiner Hilfe nun anpassen. Herzlichen Dank!

(08 Jul '14, 09:44) dzaic
Ergebnis 5 von 9 show 4 more comments

Die Lösung ist die richtige Verwendung der Umgebung für longtable:

Open in writeLaTeX
%% #1 Number of columns
%% #2 Column definitions
%% #3 Header
%% #4 Caption im TOC
%% #5 Caption
%% #6 Label
\newenvironment{MyLongTable}[6]{%
\begin{longtabu} to \textwidth {#2}%
%---------- Table head on first page ----------
\caption[#4]{#5\label{#6}}\\
\toprule
#3\\
\midrule
\endfirsthead
%
%---------- Table head on other pages ----------
\caption[]{(Fortsetzung)}\\
\multicolumn{#1}{l}{\tiny ...continued from previous page...}\\
\toprule
#3\\
\midrule
\endhead
%
%---------- Table footer ----------
\hline
\multicolumn{#1}{r}{\tiny ...continue on next page...}\\
\endfoot
%
%---------- Table footer on last page ----------
\bottomrule
\endlastfoot
}{\end{longtabu}}
Permanenter link

beantwortet 07 Jul '14, 08:13

dzaic's gravatar image

dzaic
631104853
Akzeptiert-Rate: 42%

bearbeitet 08 Jul '14, 09:51

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×23
×15
×2

gestellte Frage: 05 Jul '14, 12:06

Frage wurde gesehen: 9,045 Mal

zuletzt geändert: 08 Jul '14, 09:51