Tabelle vertikale Linien verschoben Thema ist als GELÖST markiert

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Gast

Tabelle vertikale Linien verschoben

Beitrag von Gast »

Hallo.

Ich schreibe gerade meine Abschlussarbeit und benutze dafür zum ersten Mal Latex. Dafür muss ich auch ein paar Tabellen erstellen. Da mein Tabellenkopf zu breit für die Seite ist, verwende ich jetzt tabularx{\textwidth} und verändere die Spaltenbreite. Dieser Tabellenkopf besteht aus 2 Zeilen.

Jedenfalls ist mit gerade aufgefallen, dass in meinem Tabellenkopf die horizontalen Linien im generierten PDF leicht gegeneinander verschoben sind, was nicht sehr schön ausschaut.

Kann mir bitte jemand sagen wodurch das kommt bzw. wie ich das beheben kann?

Hier ist eine kleines Beispiel:
\documentclass{scrreprt}
\usepackage{tabularx}

\begin{document}


\begin{table}[htbp]

\caption[]{Testtabelle.}


\begin{tabularx}{\textwidth}{ c c c c | c c c | c c c } 

\multicolumn{4}{l}{\textbf{Fett 1}}&\multicolumn{3}{|
  l}{\textbf{Fett 2}}&\multicolumn{3}{| l}{\textbf{Fett 3}}\\
S11111&S22222&S33333& S44444&S55555&S66666&S7777&S8888&S9999 &S10\\
 

\hline
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
 
\end{tabularx}

\end{table}

\end{document}
Viele Grüße

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Zoom mal rein oder raus.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Gast

Beitrag von Gast »

Das verstehe ich nicht so ganz. Kannst du das bitte genauer erklären?
Ja, wenn ich zoome, sehe ich, dass die Linien nicht direkt übereinander liegen in meinem PDF. Und wenn ich mir es im Online-Editor anschaue, stimmen die beiden rechten Linien auch nicht überein, aber dafür wenigstens die Linken.

Noch so einer

Beitrag von Noch so einer »

tabularx ohne X-Spalten ist sinnlos, weil tabularx nur die Breite von X-Spalten aber nicht die Breite von c-Spalten anpassen kann, um die gewünschte Tabellenbreite zu erreichen. Also wäre im Beispiel
\documentclass{scrreprt}

\begin{document}


\begin{table}[htbp]

\caption[]{Testtabelle.}


\begin{tabular}{ c c c c | c c c | c c c } 

\multicolumn{4}{l|}{\textbf{Fett 1}}&\multicolumn{3}{
  l|}{\textbf{Fett 2}}&\multicolumn{3}{l}{\textbf{Fett 3}}\\
S11111&S22222&S33333& S44444&S55555&S66666&S7777&S8888&S9999 &S10\\
 

\hline
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
 
\end{tabular}

\end{table}

\end{document}
hinreichend. Fügt man noch ein \usepackage{showframe} ein, sieht man außerdem, dass bereits bei dieser natürlichen Breite der Spalten die Tabelle insgesamt zu breit für die Seite ist. Daraus ergibt sich auch Dein Problem bei Verwendung von tabularx. tabularx kann nämlich eine Tabelle nicht schmal machen, als sie min. sein müsste, wenn in den Zellen kein Umbruch möglich ist. Es sind dann ggf. nur die horizontalen Linien schmaler.

Eine Möglichkeit, dieses Problem im gezeigten Beispiel zu lösen, wäre die geringfügige Reduzierung des Spaltenabstands:
\documentclass{scrreprt}
\usepackage{showframe}
\begin{document}


\begin{table}[htbp]
\centering
\setlength{\tabcolsep}{.95\tabcolsep}
\caption[]{Testtabelle.}


\begin{tabular}{ c c c c | c c c | c c c } 

\multicolumn{4}{l|}{\textbf{Fett 1}}&\multicolumn{3}{
  l|}{\textbf{Fett 2}}&\multicolumn{3}{l}{\textbf{Fett 3}}\\
S11111&S22222&S33333& S44444&S55555&S66666&S7777&S8888&S9999 &S10\\
 

\hline
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
aa & bb & cc & dd & ee & ff & gg & hh & ii & jj \\
 
\end{tabular}

\end{table}

\end{document}
Zu Deiner eigentlichen Fragen: Kann es sein, dass Du horizontal und vertikal verwechselt hast? Die vertikalen Linien sind bei Dir deshalb nicht durchgehen, sondern gegeneinander verschoben, weil Du nicht beachtet hast, dass bei Verwendung von \multicolumn außer bei der Linie vor der ersten Spalte, die Linien immer rechts von der Spaltendeklaration anzugeben sind und nicht links, wie Du das gemacht hast. Vergl. meine Lösungen oben.

Gast

Beitrag von Gast »

Oh, tut mir leid. Ja, ich habe mich im Post verschrieben. Ich meinte die vertikalen Linien.

Vielen Dank für die schnelle Hilfe! =)
Das löst gleich 2 meiner Probleme. Dass man die Deklaration der Linie innerhalb von \multicoumn so machen muss, wusste ich nicht.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Es gäbe da noch die Möglichkeit, Deine Tabellen ohne diese senkrechten Linien zu entwerfen. Einen Überblick bietet die Präsentation tabsatz.

Antworten