Ich habe eine Tabelle und möchte darin gern die Zellen der ersten Zeile zentriert ausrichten. Die Tabellenspalten sind jedoch mit fester Breite in einer tabularx-Umgebung definiert. Wenn ich die zentrierte Ausrichtung mit einer \multicolumn vornehme, wird leider die feste Breite der Spalten zerstört, da der Text nicht mehr umgebrochen wird. Wie kann ich nun also die zentrierte Ausrichtung der 1. Zeile (bzw. einzelner Zellen) vornehmen?

Open in Online-Editor
\documentclass[a4paper,10pt,landscape]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[left=1cm,right=1cm,top=2cm,bottom=1.25cm]{geometry}

\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}

\usepackage{ragged2e,array}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}} % Neue Tabellenspalte: linksbündig mit Breitenangabe

\begin{document}

\begin{tabularx}{\textwidth}{|L{5cm}|L{5cm}|L{5cm}|X|}
\hline
Der Text in der 1. Zeile soll zentriert sein & !!! & Der Text in der 1. Zeile soll zentriert sein & !!! \\\hline
Dieser Text & und alle weiteren Zeilen & sollen & linksbündig sein \\ \hline
multicolumn zur zentrierten & Ausrichtung ist leider & keine Lösung & da die definierte Breite der L-Spalte zestört wird \\ \hline
\end{tabularx}

\end{document}

gefragt 14 Apr '16, 12:13

Andr%C3%A9's gravatar image

André
986252836
Akzeptiert-Rate: 33%

@Clemens: Danke, funzt! =)

(14 Apr '16, 14:20) André

Wenn das wirklich nur die erste Zeile betrifft, könntest Du in den Zellen der ersten Zeile einfach \centering einsetzen. (Und in der letzten Zelle dieser Zeile \centering\arraybackslash bzw. diese Zeile mit \tabularnewline beenden statt mit \\.)

Open in Online-Editor
\documentclass[a4paper,10pt,landscape]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}

\usepackage{ragged2e,array}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}} % Neue
                                % Tabellenspalte: linksbündig mit
                                % Breitenangabe

\begin{document}

\noindent
\begin{tabularx}{\textwidth}{|L{5cm}|L{5cm}|L{5cm}|X|}
  \hline\centering
    Der Text in der 1.~Zeile soll zentriert sein &
    \centering !!! &
    \centering Der Text in der 1.~Zeile soll zentriert sein &
    \centering !!! \tabularnewline
  \hline
    Dieser Text &
    und alle weiteren Zeilen &
    sollen &
    linksbündig sein \\
  \hline
    multicolumn zur zentrierten &
    Ausrichtung ist leider &
    keine Lösung &
    da die definierte Breite der L-Spalte zerstört wird \\
  \hline
\end{tabularx}

\end{document}
Permanenter link

beantwortet 14 Apr '16, 15:16

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

@Clemens: Wenn Du \Centering verwendest, brauchst Du weder \arraybackslash noch musst Du \\ durch \tabularnewline ersetzen.

(14 Apr '16, 22:54) saputello

@saputello stimmt. Ich hatte übersehen, dass ragged2e schon geladen wird…

(15 Apr '16, 10:12) cgnieder

Das geht auch durchaus mit \multicolumn:

Open in Online-Editor
\documentclass[a4paper,10pt,landscape]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[left=1cm,right=1cm,top=2cm,bottom=1.25cm]{geometry}

\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}

\usepackage{ragged2e,array}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\RaggedRight}p{#1}} % Neue Tabellenspalte: linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\Centering}p{#1}} % Neue Tabellenspalte: linksbündig mit Breitenangabe

\begin{document}

\begin{tabularx}{\textwidth}{|L{5cm}|L{5cm}|L{5cm}|X|}
\hline
\multicolumn{1}{|C{5cm}|}{Text in der 1. Zeile soll zentriert sein} & 
\multicolumn{1}{C{5cm}|}{!!!} & 
\multicolumn{1}{C{5cm}|}{Text in der 1. Zeile soll zentriert sein} &
\multicolumn{1}{>{\Centering}X|}{!!!} \\\hline
Dieser Text & und alle weiteren Zeilen & sollen & linksbündig sein \\ \hline
multicolumn zur zentrierten & Ausrichtung ist leider & keine Lösung & da die definierte Breite der L-Spalte zestört wird \\ \hline
\end{tabularx}

\end{document}

Übrigens braucht man bei \RaggedRight und \Centering kein \arraybackslash. Außerdem sei wieder einmal darauf hingewiesen, das vertikale Linien in Tabellen den Lesefluss stören und deshalb ungünstig sind. Siehe auch die Anleitung zu booktabs.

Permanenter link

beantwortet 14 Apr '16, 22:54

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×69

gestellte Frage: 14 Apr '16, 12:13

Frage wurde gesehen: 27,834 Mal

zuletzt geändert: 15 Apr '16, 10:12