Seite 1 von 1
Probleme mit Tabellenformatierung: Ausrichtung, Zellengröße
Verfasst: Fr 28. Dez 2012, 14:31
von ElementusCool
Hallo,
ich muss eine Tabelle aus Word in LaTeX grob nachbauen und habe mir jetzt schon ein wenig erarbeitet:
\documentclass[
10pt,landscape
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{graphicx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}} % rechtsbündig mit Breitenangabe
\begin{document}
\begin{longtable}{|C{9mm}|L{130mm}|C{13mm}|C{13mm}|C{16mm}|}\hline
\rule{0pt}{10mm}A & B & C & D & E\\\hline
\rule{0pt}{6mm}\multirow{5}{*}{\rotatebox{90}{Fall A}} & Spalte 2 & Spalte 3 & Spalte 4 & \multirow{2}{*}{Fall B}\\\cline{2-4}
\rule{0pt}{6mm}& Spalte 2 & Spalte 3 & Spalte 4 & \\\cline{2-5}
\rule{0pt}{6mm}& Spalte 2 & Spalte 3 & Spalte 4 & Spalte 5\\\cline{2-5}
\rule{0pt}{6mm}& Spalte 2 & Spalte 3 & Spalte 4 & \multirow{2}{*}{Fall B}\\\cline{2-4}
\rule{0pt}{6mm}& Spalte 2 & Spalte 3 & Spalte 4 & \\\hline
\end{longtable}
\end{document}
Nun habe ich aber noch ein paar Probleme, die ich nicht gelöst bekomme:
Die Zelle mit Fall A und die beiden mit Fall B hätte ich gerne sowohl vertikal als auch horizontal zentriert, ich dachte ja bei multirow passiert das automatisch, tut es aber nicht.
Mit dem rule Befehl habe ich grob die Höhe der einzelnen Spalten geändert, klappt auch einwandfrei, nur leider nicht in der Spalte A, dort wird das A vom rule Befehl falsch ausgerichtet.
Die Spaltenüberschrift B hätte ich gerne zentriert, der Rest dieser Spalte soll weiterhin linksbündig ausgerichtet sein.
Danke für eure Hilfe, bin ein wenig verzweifelt.

Verfasst: So 14. Jul 2013, 18:13
von Jonas_123456
Ich habe ein ähnliches Problem mit den Abständen in einer Tabelle, darum mach ich hier mal weiter:
Ich möchte eine Tabelle so formatieren, dass alle Felder trotz fester Spaltenbreite horizontal zentriert und die Spalten 2 und 3 auch vertikal zentriert sind. Leider gehen dabei die Abstände total in die Hose und ich komme nicht darauf, warum.
Hier ein Minimalbeispiel...
\documentclass[
12pt, % Schriftgröße
DIV10,
ngerman, % für Umlaute, Silbentrennung etc.
a4paper, % Papierformat
oneside, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
parskip=false, % Abstand zwischen Absätzen (halbe Zeile) (vorher "=half")
headings=small, % Größe der Überschriften verkleinern
listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
index=totoc, % Index im Inhaltsverzeichnis aufführen
captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
final % Status des Dokuments (final/draft)
]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{colortbl}
\definecolor{Gray}{gray}{0.9}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit
\begin{document}
\begin{figure}[h]
\begin{center}\begin{small}\begin{sffamily}
\begin{tabular}{L{3.2cm}|C{4.8cm}C{4.8cm}}
& \textbf{Betriebswirtschaft} & \textbf{Andragogik} \\
\hhline{===} % oder auch einfach \hline \hline
\textbf{primärer Bezugs\-gegenstand}
& Waren \linebreak Objekte (Prozesse, Güter, Akteure)
& Lernprozesse\linebreak Subjekte (Lernende, Lehrende) \\
\rowcolor{Gray}
\textbf{weitere Bezugs\-gegenstände}
& Einkaufs- Produktions- und Absatzbedingungen
& Lernbedingungen und –begründungen \\
\end{tabular} \\
\end{sffamily}\end{small}\end{center}
\end{figure}
\end{document}
... und so sieht das ganze bei mir nach dem Kompilieren aus: Die rot markierten Stellen markieren die Problem-Abstände.

Verfasst: Mo 15. Jul 2013, 09:06
von Epllus
Ändere mal die Tabellenspalten von „p“ zu „m“:
\documentclass[
12pt, % Schriftgröße
DIV10,
ngerman, % für Umlaute, Silbentrennung etc.
a4paper, % Papierformat
oneside, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
parskip=false, % Abstand zwischen Absätzen (halbe Zeile) (vorher "=half")
headings=small, % Größe der Überschriften verkleinern
listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
index=totoc, % Index im Inhaltsverzeichnis aufführen
captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
final % Status des Dokuments (final/draft)
]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{colortbl}
\definecolor{Gray}{gray}{0.9}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}} % rechtsbündig mit
\begin{document}
\begin{figure}[h]
\begin{center}\begin{small}\begin{sffamily}
\begin{tabular}{L{3.2cm}|C{4.8cm}C{4.8cm}}
& \textbf{Betriebswirtschaft} & \textbf{Andragogik} \\
\hhline{===} % oder auch einfach \hline \hline
\textbf{primärer Bezugs\-gegenstand}
& Waren \linebreak Objekte (Prozesse, Güter, Akteure)
& Lernprozesse\linebreak Subjekte (Lernende, Lehrende) \\
\rowcolor{Gray}
\textbf{weitere Bezugs\-gegenstände}
& Einkaufs- Produktions- und Absatzbedingungen
& Lernbedingungen und –begründungen \\
\end{tabular} \\
\end{sffamily}\end{small}\end{center}
\end{figure}
\end{document}
Grüße
Epllus
PS: sffamily ist soweit ich mich erinnere, ein Schalter (\sffamily) und keine Umgebung.
Verfasst: Mo 15. Jul 2013, 16:35
von Stefan Kottwitz
Neben \sffamily ist auch \small ein "Schalter" bzw. eine Deklaration. Die Wirkung hört auf mit dem Ende der Umgebung. Daher wäre die Tabelle so besser:
\begin{figure}
\centering\small\sffamily
\begin{tabular}{L{3.2cm}|C{4.8cm}C{4.8cm}}
& \textbf{Betriebswirtschaft} & \textbf{Andragogik} \\
\hhline{===} % oder auch einfach \hline \hline
\textbf{primärer Bezugs\-gegenstand}
& Waren \linebreak Objekte (Prozesse, Güter, Akteure)
& Lernprozesse\linebreak Subjekte (Lernende, Lehrende) \\
\rowcolor{Gray}
\textbf{weitere Bezugs\-gegenstände}
& Einkaufs- Produktions- und Absatzbedingungen
& Lernbedingungen und –begründungen \\
\end{tabular}
\end{figure}
Das \\ nach \end{tabular} habe ich auch entfernt. Ein Zeilenumbruch hat hier auch keinen Sinn. Über die Leerzeilen würde ich auch nachdenken: jede Leerzeile macht einen Absatzumbruch.
Stefan
Verfasst: Di 16. Jul 2013, 16:52
von Jonas_123456
Vielen Dank für eure Tipps, jetzt sieht die Tabelle schon fast perfekt aus!
Eine Kleinigkeit gibt es noch: Die meisten Zellen in der Tabelle sind mit 2- oder 3-zeiligen Text gefüllt, d.h. die ganze Zeile ist ziemlich hoch. Daneben sehen die einzeiligen Zeilen zu klein aus.
Wenn ich die Zeilenhöhe allgemein mit
\renewcommand{\arraystretch}{2} erhöhe, wachsen alle Zeilen, das Verhältnis bleibt also gleich ungünstig.
Ich habe von dem dirty trick mit
\rule{0pt}{25pt}, also einer unsichtbaren Linie gehört, aber dann wird der Text in dem Feld, indem die Linie positioniert wird, nicht mehr vertikal mittig positioniert. Selbes Problem habe ich, wenn ich nach dem Zeilenende die Höhe mit
\\[25px] setze.
% dreizeilige Felder
\textbf{Primärer Bezugs\-gegenstand}
& Waren \linebreak Objekte (Prozesse, Güter, Akteure)
& Lernprozesse\linebreak Subjekte (Lernende, Lehrende) \\
% einzeilige Felder
\rowcolor{Gray}
\textbf{Endziel}
& ökonomischer Gewinn
& Mündigkeit \rule{0pt}{25pt}\\
% einzeilige Felder
\textbf{Endziel}
& ökonomischer Gewinn
& Mündigkeit \\[25px]
Sieht dann so bei mir aus:
Kennt ihr eine Lösung für das Problem?