Probleme mit Tabellenformatierung: Ausrichtung, Zellengröße Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


ElementusCool

Probleme mit Tabellenformatierung: Ausrichtung, Zellengröße

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

Bild


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. :(

Jonas_123456

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

Bild

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

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

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag 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

Jonas_123456

Beitrag 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: Bild

Kennt ihr eine Lösung für das Problem?

Antworten