Hallo, ich schreibe gerade ein Protokoll und kann mir nicht erklären, wo mein Fehler liegt. In der unten stehenden Tabelle sind die ersten beiden senkrechten Linien länger als alle anderen. Sie gehen über meine bottomrule hinaus. Kann man das korrigieren?

Hier der Auszug:

Open in Online-Editor
\documentclass[11pt,a4paper,titlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{ulem}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\author{XX}
\title{XX}
\date{Mittwoch, der 27.04.2016}
\begin{document}
\maketitle
\tableofcontents
\newpage
\begin{table}[h]
\centering
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\toprule
 \begin{center}
  $U$ in $V$
  \end{center} & \begin{center}
  $\delta U$
 in $V$  \end{center} & \begin{center}
 $I$ in $A$
 \end{center} & \begin{center}
 $\delta I$ in $A$
 \end{center} & \begin{center}
 $R$ in $\Omega$
 \end{center} \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
  &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
  &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\ 
\midrule
 &  &  &  &  \\
 \bottomrule 
\bottomrule
\label{tab: B1}
\end{tabularx}
\end{table}
\end{document}

gefragt 26 Apr '16, 13:09

Frosi's gravatar image

Frosi
1122
Akzeptiert-Rate: 0%

bearbeitet 26 Apr '16, 23:34

esdd's gravatar image

esdd
17.8k284257

2

Der \label Befehl steht noch innerhalb der tabularx Umgebung und damit in der Tabellenzelle der ersten Spalte der Zeile unterhalb von \bottomrule. Entsprechend werden die vertikalen Linien vor und nach der Zeile eingefügt.

Verschiebe \label hinter das Ende der tabularx Umgebung. Beachte dabei das \label hinter \caption stehen muss. Unabhängig von allem anderem sind die vertikalen Linien eher störend und ich würde ganz auf sie verzichten.

(26 Apr '16, 23:50) esdd

Was @esdd mit ihrem Kommentar meint, ist in etwa das Folgende, wobei ich Dein Beispiel auf das Wesentliche gekürzt habe:

Open in Online-Editor
\documentclass[captions=tableabove]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}% german wäre veraltete Rechtscheibung
\usepackage{tabularx}
\usepackage{booktabs}
%\newcommand*{\thead}[1]{\centering\arraybackslash #1}
\newcommand*{\thead}[1]{\begin{center}#1\end{center}}
\begin{document}
\begin{table}[htp]% h alleine ist nicht sinnvoll
\centering
\caption{Beispiel}% ohne sind table und \label nicht sinnvoll
\label{tab:B1}% irgendwo nach \caption, außerhalb von tabularx und vor \end{table}
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\toprule
 \thead{$U$ in $V$} & \thead{$\delta U$ in $V$} 
 & \thead{$I$ in $A$} & \thead{$\delta I$ in $A$}
 & \thead{$R$ in $\Omega$} \\ 
\midrule% <-- würde ich auch verwenden
 &  &  &  &  \\
\midrule% <-- die hier nicht
 &  &  &  &  \\
\bottomrule 
\bottomrule
%\label{tab: B1}% würde hier eine neue (scheinbar leere) Zelle beginnen!
\end{tabularx}
\end{table}
\end{document}

Das auskommentierte \label{…} würde also eine neue Tabellenzelle und damit auch eine neue Tabellenzeile beginnen. Da die weiteren Spalten in dieser Tabellenzeile nicht definiert sind (es fehlen entsprechende &) wird auch nur die Linie vor und nach dieser ersten Zelle ausgegeben. Das in der Ausgabe nicht zu sehende \label ist dabei der einzige Inhalt der Zelle.

Es ist auch zu beachten, dass \label bei Gleitumgebungen nur nach \caption (oder den davon abgeleiteten Befehlen, beispielsweise \captionabove oder \captionof) sinnvoll ist. Außerdem sollte man Leerzeichen in \label besser vermeiden und sich auf ASCII-Buchstaben, Ziffern, Punkte und – je nach Sprache und verwendeten Paketen – auch Doppelpunkt, Plus, Minus und Unterstrich beschränken.

Ich würde übrigens eher die von mir auskommentierte Version von \thead verwenden, die zweite \bottomrule weglassen, \midrule nur zur Abgrenzung von Tabellenkopf und Tabelleninhalt verwenden und auch alle vertikalen Linien entfernen. Insbesondere vertikale Linien stehen dem Prinzip entgegen, dass eine Tabelle so aufgebaut sein sollte, dass die Hauptleserichtung horizontal als zeilenweise ist. Kästchen um alle Zellen erlauben dagegen weder eine vertikale noch eine horizontale Leserichtung.

Permanenter link

beantwortet 29 Apr '16, 09:39

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 29 Apr '16, 09:40

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:

×32
×17

gestellte Frage: 26 Apr '16, 13:09

Frage wurde gesehen: 10,664 Mal

zuletzt geändert: 29 Apr '16, 09:40