Seite 1 von 1

Tabelle Spaltenlinie

Verfasst: Fr 18. Sep 2015, 20:48
von Eden Hazard
Hallo alle zusammen,

ich habe ein Problem.
Aber erst einmal das Minimalbeispiel:
\documentclass[a4paper, 12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}
    	\begin{tabular}{|c|c|}
    		\hline
    		\\
    		$a$ & $b$ \\
    		\hline
    	\end{tabular}
\end{document}
Das \\ soll bei mir bewirken, dass in der Zeile mehr Platz ist.
Jedoch wird dann in der letzten Spalte die Linie nicht mehr bis zum Ende durchgezogen.

Vielen Dank im Voraus!

Verfasst: Sa 19. Sep 2015, 08:30
von Noch so einer
Deine erste Zeile hat nur eine Spalte. Da nie eine zweite Spalte ausgegeben wird, kann auch keine Linie, die immer Teil einer Spalte ist, ausgegeben werden.

Also füge entweder ein & in der leeren Zeile ein oder mach die gewünschte größere Höhe der Zeile nicht in der Zeile darüber:
\documentclass[a4paper, 12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
       \begin{tabular}{|c|c|}
          \hline
          \rule{0pt}{1.7\normalbaselineskip}%
          $a$ & $b$ \\
          \hline
       \end{tabular}
\end{document}
Die [d]bookatabs[/d]-Anleitung hast Du gelesen? Auch, was dort über vertikale Linien steht? Dir ist klar, dass du das Paket genauso wenig wie tabularx verwendest und deshalb besser weggelassen hättest?

Verfasst: So 20. Sep 2015, 09:53
von Eden Hazard
Hallo,
könntest du mir bitte zeigen, wie du das mit & meinst?
Außerdem dachte ich, dass meine Tabelle zwei Spalten hat.

Vielen Dank!

Verfasst: Mo 21. Sep 2015, 07:33
von Besserwisser
Schau dir mal die Status-Bedeutung an. Rückfrage ist ausschließlich für Helfer!

Du hast die Tabelle zweispaltig deklariert, aber
       \begin{tabular}{|c|c|}
          \hline
          \\ <-- Hier ist nur eine Spalte angegeben!
          $a$ & $b$ \\
          \hline
       \end{tabular}
Und jetzt rate mal, wie man nicht nur eine leere Spalte bekommt, sondern zwei:
       \begin{tabular}{|c|c|}
          \hline
          & \\ <-- Hier ist sind zwei Spalte angegeben.
          $a$ & $b$ \\
          \hline
       \end{tabular}
Logisch, oder?

Allerdings halte ich die Lösung @Noch so einer für die bessere, da du ja keine leere Zeile haben willst, sondern eine höhere Zeile. Es sei auch erneut darauf hingewiesen, dass vertikale Zeilen im Allgemeinen für den Leser (und für den schreibt man) von Nachteil sein. Siehe dazu die Anleitung zu [d]booktabs[/d]. Dort findet man dann auch, wie man alternativ mit \addlinespace zusätzlichen vertikalen Abstand schaffen kann. Es gibt auch noch \arraystretch, das sich allerdings nicht nur auf die Höhe dieser Zeile auswirkt. Auch dies sollte in einer ausführlichen LaTeX-Einführung erklärt sein.

Verfasst: So 27. Sep 2015, 13:02
von Eden Hazard
Okay, es funktioniert, danke!
Allerdings gefällt mir Folgendes nicht: Wie kann ich bewirken, dass, wenn ich,
\rule{0pt}{1.7\normalbaselineskip}%
wie im Beispiel von Besserwisser angegeben, schreibe, der Inhalt vertikal zentriert ist?

Verfasst: So 27. Sep 2015, 13:29
von Noch so einer
In welchem Beispiel von Besserwisser?

Das ist auch wieder eine ganz andere Frage. Ich hatte schlicht nachgebildet, was Du mit Deinem Beispiel gezeigt hast, also Abstand über der Zeile. Wenn man alle Zeilen höher haben will, ist in der Tat der von Besserwisser bereits genannte \arraystretch besser geeignet:
\documentclass[a4paper, 12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\renewcommand*{\arraystretch}{2}

\begin{document}
       \begin{tabular}{|c|c|}
          \hline
          $a$ & $b$ \\
          \hline
       \end{tabular}
\end{document}
Natürlich könnte man stattdessen auch das optionale Argument von \rule nutzen:
\documentclass[a4paper, 12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
       \begin{tabular}{|c|c|}
          \hline
          \rule[-.5\normalbaselineskip]{0pt}{1.7\normalbaselineskip}%
          $a$ & $b$ \\
          \hline
       \end{tabular}
\end{document}
Bitte lies die genannten Anweisungen beispielsweise in einer ausführlichen LaTeX-Einführung nach.

Verfasst: So 27. Sep 2015, 13:30
von saputello

Verfasst: Fr 2. Okt 2015, 15:58
von Eden Hazard
Hallo,
vielen Dank für die Antworten! :)