Tabelle Spaltenlinie

Tabellen und Grafiken erstellen und anordnen


Eden Hazard
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Sa 22. Aug 2015, 21:05

Tabelle Spaltenlinie

Beitrag 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!

Noch so einer

Beitrag 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?

Eden Hazard
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Sa 22. Aug 2015, 21:05

Beitrag 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!

Besserwisser

Beitrag 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.

Eden Hazard
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Sa 22. Aug 2015, 21:05

Beitrag 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?

Noch so einer

Beitrag 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.

saputello
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 98
Registriert: Do 15. Jan 2015, 08:49

Beitrag von saputello »


Eden Hazard
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Sa 22. Aug 2015, 21:05

Beitrag von Eden Hazard »

Hallo,
vielen Dank für die Antworten! :)

Antworten