Einzelne Zeile in Tabelle formatieren

Tabellen und Grafiken erstellen und anordnen


Skyfall91
Forum-Anfänger
Forum-Anfänger
Beiträge: 37
Registriert: Mi 26. Aug 2015, 16:33

Einzelne Zeile in Tabelle formatieren

Beitrag von Skyfall91 »

Hi Leute,

ich habe gerade folgendes Problem: Ich möchte eine Tabelle erstellen über die komplette Seitenbreite (\textwidth). Darum habe ich mich im vornherein für das tabularx package entschieden. Das klappt soweit schon gut, nun möchte ich aber die erste Zeile der Tabelle für die Überschriften nutzen. Diese sollen fett und mittig zentriert sein. Hier mein Minimalbeispiel:
\documentclass[
	pdftex,
	a4paper,
	oneside,
	bibliography=totoc,
	listof=totoc,
	index=totoc,
	parskip=half,
	chapterprefix,
	%headsepline,
	%footsepline,
	%pointlessnumbers,
	12pt
]{scrbook}

\usepackage[french, ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}

\begin{document}

\begin{tabularx}{\textwidth}{|>{\hsize=.15\hsize}X|>{\hsize=.40\hsize}X|>{\hsize=.45\hsize}X|}
\hline
\textbf{\centering\arraybackslash ÜberschriftA} & \textbf{\centering\arraybackslash ÜberschriftB} & \textbf{\centering\arraybackslash ÜberschriftC} \\
\hline\hline
Wort & Wort & Wort \\
\hline
Wort & Wort & Wort \\
\hline
\end{tabularx}

\end{document}
Default-mäßig ist das ganze ja linksbündig, sprich die unteren Zeilen passen soweit. Nur in der ersten Zeile bekomme ich es nicht hin das ganze mittig zentriert und fett gleichzeitig zu machen. Wenn ich \textbf weglasse passt es soweit, dass alle zellen mittig zentriert sind. Füge ich \textbf hinzu ist irgendwie nur die 1. Zelle mittig (dafür aber immerhin alle fett).
Weiterhin kommt es mir so vor als wären die Zellen auch vertikal nicht richtig mittig teilweiße zentriert. Weiß jemand Rat? :?

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Um einzelne Zellen anders auszurichten als die restliche Spalte, kann man üblicherweise \multicolumn hervorragend verwenden:
\multicolumn{1}{|c|}{\bfseries ÜberschriftA} & \multicolumn{1}{c|}{\bfseries ÜberschriftB} & \multicolumn{1}{c|}{\bfseries ÜberschriftC} \\
Grüße
Clemens
Paketauthor

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

Beitrag von Johannes_B »

Scheinbar willst du vorgeben wie breit die jeweiligen Spalten sind? Dann nimm p-Spalten.
\documentclass[
%	pdftex,% lass das weg
]{scrbook}

\usepackage[french, ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{showframe}% auskommentieren
\usepackage{booktabs}

\newcommand{\blindtext}{Giraffen gaffen gern auf Affen. Esel,
	Hund, Katze und Wasserhahn. Ente, Ente, Ente, Ente,
Ganz.}
\newcommand{\tabheadfont}{\bfseries}
\begin{document}
%\noindent
\begin{tabularx}{\textwidth}{|p{.2\linewidth}|p{.4\linewidth}|X|}
	\hline
	\multicolumn{1}{|c|}{\bfseries
	ÜberschriftA} &
	\multicolumn{1}{c}{\bfseries
	ÜberschriftB} &
	\multicolumn{1}{|c|}{\bfseries
	ÜberschriftC} \\
	\hline\hline
	Wort & Wort & Wort \\
	\hline
	Wort & Wort & Wort \\
	\hline
\end{tabularx}
\bigbreak

\noindent\begin{tabularx}{\textwidth}{p{.2\linewidth}XX}
	\toprule
	\multicolumn{1}{c}{\tabheadfont ÜberschriftA} &
	\multicolumn{1}{c}{\tabheadfont ÜberschriftB} &
	\multicolumn{1}{c}{\tabheadfont ÜberschriftC} \\
	\midrule
	Wort & \blindtext & \blindtext \\
	Wort & Wort & Wort \\
	\bottomrule
\end{tabularx}

\end{document}
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.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Die Spaltendeklaration hatte ich gar nicht gesehen o.O

Vielleicht bietet sich dann tabu an. Da 0.15:0.4:0.45 = 3:8:9 könnte man die Spalten festlegen mit
\begin{tabu}{|X[3]|X[8]|X[9]|}
Dann lässt sich auch Format und Ausrichtung einer Zeile ganz leicht festlegen:
\rowfont[c]{\bfseries}
Kompletter Code:
\documentclass[12pt]{scrbook}

\usepackage[french, ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabu}

\begin{document}

\noindent
\begin{tabu}{|X[3]|X[8]|X[9]|}
 \hline\rowfont[c]{\bfseries}
  ÜberschriftA & ÜberschriftB & ÜberschriftC \\
 \hline\hline
  Wort & Wort & Wort \\
 \hline
  Wort & Wort & Wort \\
 \hline
\end{tabu}

\end{document}
Clemens
Paketauthor

Skyfall91
Forum-Anfänger
Forum-Anfänger
Beiträge: 37
Registriert: Mi 26. Aug 2015, 16:33

Beitrag von Skyfall91 »

Hey Danke für die Hilfe! :) Sind super Lösungsmöglichkeiten, hab mir jetzt eine rausgesucht und es sieht soweit spitze aus :wink:
Falls ich noch über irgendetwas stolpere melde ich mich hier wieder ;)

Antworten