PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Text in Tabelle mittig zentrieren



Chaser84
17-06-2014, 10:12
Ich möchte gerne das Z in der Mitte der Tabelle steht. Mit m kann ich ja nur die ganze Spalte mittig zentrieren. :confused:


\begin{table}[htp]
\centering
\begin{tabular}{|p{1.5cm}|p{1.5cm}|p{11.6cm}|}
\hline
\rowcolor{dunkelgrau} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
Z
&
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x
&
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y
\\ \hline
\end{tabular}
\end{table}

egs
17-06-2014, 11:20
Bitte erstelle immer ein lauffähiges Minimalbeispiel. Da das fehlt nur ungetestet: Verwende in der betreffenden Zeile in allen p-Spalten eine \parbox mit


\parbox{\linewidth}{<zelleninhalt>}

Infos zu \linewidth findes du zum Bespiel hier (http://texwelt.de/wissen/fragen/2520/worin-besteht-der-unterschied-zwischen-textwidth-und-linewidth/2526) auf www.texwelt.de

Chaser84
17-06-2014, 16:12
Warum sollte ich \parbox benutzen? Was hat das mit meiner Frage zu tun?



\documentclass{scrreprt}
\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|p{1.5cm}|p{1.5cm}|p{11.6cm}|}
\hline
\rowcolor{dunkelgrau} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
Z
&
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x
&
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y
\\ \hline
\end{tabular}
\end{document}

hakaze
17-06-2014, 18:05
In solchen Fällen lässt sich auch multicolumn verwenden, um einzelne Zellen mit anderer Spaltendefinition (z.B. c) zu setzen. Beachte auch die zusätzlichen |, damit auch die senkrechten Linien übernommen werden. Beispiel:


\documentclass{scrreprt}

\usepackage[table]{xcolor}
\usepackage[utf8]{inputenc}


\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|p{2.5cm}|p{2.5cm}|p{8cm}|}
\hline
\rowcolor{gray} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
\multicolumn{1}{|c|}{Z}
&
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x
&
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y
\\ \hline
\end{tabular}
\end{table}

\end{document}

egs
17-06-2014, 19:16
Möchtest du horizontal oder vertikal zentrieren oder beides? Ich bin von vertikal ausgegangen, da du von einer m Ausrichtung gesprochen hast.

Chaser84
18-06-2014, 11:15
Eigentlich beides, wobei mir vertikal reichen würde.



In solchen Fällen lässt sich auch multicolumn verwenden, um einzelne Zellen mit anderer Spaltendefinition (z.B. c) zu setzen. Beachte auch die zusätzlichen |, damit auch die senkrechten Linien übernommen werden. Beispiel:


Das zerstört leider meine Tabelle. Es fügt eine weitere Zelle zwischen Überschrift 1 und 2 ein.

FelixT
18-06-2014, 11:22
Siehe: Wie kann ich innerhalb einer Tabellenzelle vertikal zentrieren? (http://texwelt.de/wissen/fragen/840/wie-kann-ich-innerhalb-einer-tabellenzelle-vertikal-zentrieren)

Wenn mal was nicht geht: Warum wird in einer m-Spalte einer Tabelle nicht vertikal zentriert? (http://texwelt.de/wissen/fragen/723/warum-wird-in-einer-m-spalte-einer-tabelle-nicht-vertikal-zentriert)

Viel Erfolg,

Felix

hakaze
18-06-2014, 16:11
Das zerstört leider meine Tabelle. Es fügt eine weitere Zelle zwischen Überschrift 1 und 2 ein.
Das kann ich nicht reproduzieren; mein Beispiel liefert:
http://www.mrunix.de/forums/attachment.php?attachmentid=6035&stc=1&d=1403103628

Auch die Variante mit m-Spalten und \centering scheint doch zu funktionieren:

\documentclass{scrreprt}

\usepackage[table]{xcolor}
\usepackage[utf8]{inputenc}


\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|>{\centering\arraybackslash}m{2.5cm}|m{2.5cm}|m{8cm }|}
\hline
\rowcolor{gray} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
Z
&
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x\newline
x
&
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y\newline
y
\\ \hline
\end{tabular}
\end{table}
\end{document}
http://www.mrunix.de/forums/attachment.php?attachmentid=6036&stc=1&d=1403104149

Chaser84
21-06-2014, 12:00
Das zweite Beispiel funktioniert zwar grundsätzlich, sortiert aber die Daten in der mittleren Spalte an den falschen Platz.

Falsch:
http://s14.directupload.net/images/140621/ivcvit7s.png

Richtig:
http://s7.directupload.net/images/140621/eke8mj5v.png

Studi
21-06-2014, 15:09
Ich habe Felix' Links besucht und dort gelesen, da steht eine Lösung, die funktioniert. Also eine Spalte vertikal mittig zentrieren kann und die anderen Top, sogar mit screenshot.

Studi

Chaser84
13-07-2014, 19:27
Ich habe Felix' Links besucht und dort gelesen, da steht eine Lösung, die funktioniert. Also eine Spalte vertikal mittig zentrieren kann und die anderen Top, sogar mit screenshot.

Studi

Also ganz ehrlich, ich habe das dort nicht gelesen.
Vll könntest du einfach die entsprechende Stelle hier posten?

Studi
13-07-2014, 23:06
Also ganz ehrlich, ich habe das dort nicht gelesen.
Nimm den Post von stefan dort, mit verschachtelter Tabelle. Tabelle in Zelle geht auch.


Vll könntest du einfach die entsprechende Stelle hier posten?

Link zu der Stelle (http://texwelt.de/wissen/fragen/840/wie-kann-ich-innerhalb-einer-tabellenzelle-vertikal-zentrieren/1020). Probiers mit der Tabelle in der Zelle, wenn es nicht klappt, poste Deinen Versuch zum Verbessern, hier oder dort,

Studi

Chaser84
14-07-2014, 14:40
Die Lösungs funktioniert zwar prinzipiell, aber wie bekomme ich jetzt die ursprüngliche Tabellenoptik (siehe oben) hin?

FelixT
16-07-2014, 15:19
Vielleicht poste ein Beispiel mit Deinem jetzigen Stand. Mit welchen Stücken sollte man aus obigem was basteln... wende die gefundene Lösung an und zeige den Code, wenn er nicht geht, damit man das Problem darin finden kann. Keiner weiß wie Du das eingebaut hast.

Felix

Chaser84
16-07-2014, 21:17
Ich habe folgendes eingebaut:


\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{l*2{m{1cm}}}
\begin{tabular}{rp{1cm}}
Oben & Oben ausgerichtet
\end{tabular}
& Mitte & Mitte
\end{tabular}
\end{document}

In der Ausgabe sind aber keine Tabellen sichtbar, sondern nur der Text.
Mit meiner bisherigen Methode funktioniert das nicht.


\begin{table}[htp]
\centering
\begin{tabular}{|p{1.5cm}|p{1.5cm}|p{11.6cm}|}
\hline
\rowcolor{dunkelgrau} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
Z
&
x
&
y
\\ \hline
\end{tabular}
\end{table}

Wie bekomme ich jetzt diese Tabellenoptik wieder hin?

http://s7.directupload.net/images/140621/eke8mj5v.png

FelixT
17-07-2014, 10:40
Sporadisch schaue ich hier rein, daher Antwort erst jetzt (TeXwelt.de hingegen hab ich alles per mail abonniert und kann sofort sehen und antworten...) also das Prinzip der verschachtelten Tabelle kannst Du z.B. so übertragen:


\begin{table}[htp]
\centering
\begin{tabular}{|m{1.5cm}|m{1.5cm}|m{11.6cm}|}
\hline
\rowcolor{dunkelgrau} \textbf{Überschrift1} & \textbf{Überschrift2} & \textbf{Überschrift3}\\ \hline
Z
&
\multicolumn{2}{|m{13.1cm}|}{\begin{tabular}{@{}p{ 1.5cm}|p{11.6cm}@{}} x \newline x \newline x \newline x \newline x
&
y \newline y \newline y \newline y \newline y \newline y \newline y\end{tabular}}
\\ \hline
\end{tabular}
\end{table}

"Außen" alles m für Mitte Platzierung, die Ausnahmespalten mit multicolumn (auch m) und innerhalb eine top-ausgerichtete Tabelle.

Felix

Chaser84
17-07-2014, 14:23
Super. Vielen Dank!
Damit gehts. Genau das was ich wollte.

Wieder was dazu gelernt.