PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit \hline.



Daetschi
23-07-2013, 13:40
Hallo Leute.
Da ich was Programmieren und ähnliches angeht eine absolute Niete bin, bin ich schon froh, mich einigermaßen in LaTex eingearbeitet zu haben. Jetzt habe ich folgendes Problem.
ich möchte eine Tabelle, die über die ganze Breite geht und in der in den Zellen ein Zeilenumbruch stattfindet. Das habe ich mit der tabularx-Umgebung auch hinbekommen. Jetzt ist mein Problem, dass die horizontalen Linien, nicht so breit sind, wie die Tabelle.

Hier ein Minimalbeispiel meines Codes:
\documentclass[a4paper, 12pt]{scrartcl}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{1\textwidth}{p{0.25\textwidth}|p{ 0.75\textwidth}}
Test & Test Test Test Test Test Test Test Test Test Test Test Test Test \\
\hline
\end{tabularx}
\end{document}

Wie bekomme ich die \hline so breit wie den Text?

Liebe Gruß und danke für Hilfe,
die Daetschi.

cgnieder
23-07-2013, 14:19
Du hast im Gegenteil das Problem, dass erstens die Tabelle um \parindent eingerückt ist und zweitens breiter als die Textbreite ist, was Du Dir beides visualisieren kannst, indem Du das showframe Paket dazu lädst:


\documentclass[a4paper, 12pt]{scrartcl}
\usepackage{showframe}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{1\textwidth}{p{0.25\textwidth}|p{ 0.75\textwidth}}
Test & Test Test Test Test Test Test Test Test Test Test Test Test Test \\
\hline
\end{tabularx}
\end{document}

Du hast bei der Einstellung der Tabellenbreite nicht beachtet, dass sich zwischen den Spalten noch zusätzlicher Leerraum befindet. (Dieser lässt sich grundsätzlich mit @{} unterdrücken.)

Lösung: Einrückung für Tabelle unterdrücken und für die zweite Spalte den X-Spaltentyp nehmen, den tabularx extra bereistellt:


\documentclass[a4paper, 12pt]{scrartcl}
\usepackage{showframe}
\usepackage{tabularx}
\begin{document}

Original:

\begin{tabularx}{1\textwidth}{p{0.25\textwidth}|p{ 0.75\textwidth}}
Test & Test Test Test Test Test Test Test Test Test Test Test Test Test \\
\hline
\end{tabularx}

\bigskip
Minus Zwischenr\"aume und Einr\"uckung:

\noindent
\begin{tabularx}{1\textwidth}{@{}p{0.25\textwidth} @{}|@{}p{ 0.75\textwidth}@{}}
Test & Test Test Test Test Test Test Test Test Test Test Test Test Test \\
\hline
\end{tabularx}

\bigskip
Mein Vorschlag:

\noindent
\begin{tabularx}{1\textwidth}{p{0.25\textwidth}|X}
Test & Test Test Test Test Test Test Test Test Test Test Test Test Test \\
\hline
\end{tabularx}

\end{document}

Grüße

Daetschi
23-07-2013, 14:29
Super, Danke für die schnelle Antwort. Funktioniert perfekt.

Ich hab mal versucht, wie das bei mehreren Spalten aussieht. Sehe ich das richtig, dass dieses X den verbleibenden Platz gleichmäßig verteilt?

cgnieder
23-07-2013, 14:30
Sehe ich das richtig, dass dieses X den verbleibenden Platz gleichmäßig verteilt?

Ja, steht übrigens in der Doku: http://texdoc.net/pkg/tabularx