• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Latex-Tabellen: Zeilen zentrieren

Herakles

Profifragensteller
Themenstarter #1
Moin!

Ich hoffe, programmieren ist das richtige Unterforum.

Ich möchte in einer Tabelle Zeileninhalte in bestimmten Spalten horizontal zentriert darstellen. Ich gebe mal ein Beispiel. So sieht die Tabelle aus:

Code:
--------------------------------
1. Werder     |      Meister   |
--------------------------------
2. Schalke    |      CL        |
--------------------------------
3. Bayern     |      CL-Quali  |
--------------------------------
4. Stuttgart  |      UEFA-     |
              |      Cup-      |
              |      Platz     |
--------------------------------
Und so soll sie aussehen:

Code:
--------------------------------
1. Werder     |      Meister   |
--------------------------------
2. Schalke    |      CL        |
--------------------------------
3. Bayern     |      CL-Quali  |
--------------------------------
              |      UEFA-     |
4. Stuttgart  |      Cup-      |
              |      Platz     |
--------------------------------
Hat jemand eine Ahnung, wie so etwas realisiert wird?

Danke im Voraus, Herakles
 
Zuletzt bearbeitet:

hippodriver

Well-Known Member
#2
Eine Lösung könnte das array Paket sein.

Ich habe zwar keine Ahnung, wie Du die Tabelle bisher gesetzt hast, aber
hier ein Vorschlag:

Code:
\usepackage{array}

\begin{tabular}{m{3cm}|m{3cm}|}
\hline
1. Werder & Meister\\
\hline
2. Schalke & CL\\
\hline
3. Bayern & CL-Quali\\
\hline
4. Stuttgart & UEFA-Cup-Platz\\
\hline
\end{tabular}
Die Breiteneinteilung habe ich einfach mal geraten.


Mit freundlichen Grüßen
Michael Krauß
 

*Sheep

des Unterseepudels Kern
#3
Code:
\documentclass[10pt]{article}
\begin{document}
\begin{tabular}{|cl|c|}
	\hline
	\# & Verein & Bemerkung\\
	\hline
	1. & Werder & Meister!\\
	\hline
	2. & Schalke & CL\\
	\hline
	3. & Cottbus & CL-Quali\\
	\hline
	4. & Stuttgart &\\
	5. & Hertha & UEFA-Cup\\
	6. & Braunschweig &\\
	\hline
	7. & Rostock &\\
	\hline
\end{tabular}
\end{document}
Die paar Zeilen liefern das PDF anbei, die Beschreibung findest Du einfach bei google... latex tabellen...:belehren:
 

Anhänge

Herakles

Profifragensteller
Themenstarter #4
@*Sheep: google frequentierte ich bereits zuvor, ohne Ergebnis. Vielen Dank auch für Deine Lösung, aber sie löst nicht das beschriebene Problem, leider... :-( Die Konstellation an der Tabellenspitze ist aber erstklassig!!! ;-)

@hippodriver: Vielen Dank, das array-paket hat's gebracht. So funktioniert's!

Besteht nun auch noch die Möglichkeit, bei einer vorgegebenen Breite der Spalte den Text in der horizontalen zu zentrieren? Also das, was ich normal mit einem

Code:
\begin{tabular}{|c|}
(...)
\end{tabular}
erreiche? Ich möchte also in einer mit {m{3cm}} spezifizierten Spalte noch in die Zeilen eingetragenen Text innerhalb der Spalte zentiert haben. Bislang errreiche ich da nur Blocksatz...

Danke,

Herakles
 
Zuletzt bearbeitet:

hippodriver

Well-Known Member
#5
Ja, das geht. Aber dabei wird der // Befehl redefiniert.
Deshalb muss man das Zeilenende jeweils ausschreiben:

Code:
\documentclass{article}
\usepackage{array}

\begin{document}

\begin{tabular}{m{3cm}|>{\centering}m{2cm}|}
\hline
1. Werder & Meister\tabularnewline
\hline
2. Schalke & CL\tabularnewline
\hline
3. Bayern & CL-Quali\tabularnewline
\hline
4. Stuttgart & UEFA-Cup-Platz\tabularnewline
\hline
\end{tabular}

\end{document}

Mit freundlichen Grüßen
Michael Krauß
 
Zuletzt bearbeitet:

piet99

Well-Known Member
#6
@hippodriver
Bei mir funktioniert das so nicht.

@Herakles
Ich habe vor vor ein paar Wochen ein ähnliches Problem gehabt... meine Lösung sieht so aus:
Code:
...
\usepackage{tabularx}
...

\renewcommand{\tabularxcolumn}[1]{>{\normalsize\centering\arraybackslash}m{#1}}

\begin{table}
\begin{center}
\begin{tabularx}{9cm}{||c||X||c|X||}
\hline \hline
\multicolumn{4}{||c||}{Tabellen-Überschrift}	\\
\hline \hline
erste Spalte  	&	zweite Spalte	&	dritte Spalte	&	vierte Spalte	\\
\hline \hline
1,0		&	2		&	3		&	4		\\
\hline \hline
\end{tabularx}
\caption{Die  tolle tabularx dazu}
\label{tolle_tabularx}
\end{center}
\end{table}

\lstset{language={[LaTeX]TeX}}
Der renewcommand-Befehl _muss_ vorhanden sein. Direkt nach dem Beginn der tabularx-Umgebung kommt die Gesamtbreite und dann die Optionen für die Spalten. c, l und r arbeiten wie bereits bekannt. X teilt die restliche, noch übriggebliebene Tabellenbreite nach einem eigenen Algorithmus auf die X-Spalten auf. Also immer im Blick behalten, dass genug Platz für die X-Spalten noch vorhanden ist.
Wenn du mehr über tabularx wissen möchtest, google bitte danach :D

cu
 

piet99

Well-Known Member
#8
Ja, das geht. Aber dabei wird der // Befehl redefiniert.
Deshalb muss man das Zeilenende jeweils ausschreiben:
@hippodriver
Wenn du ein "\arraybackslash" dahinter setzt, wird das "\\" nicht neu definiert und bei mir funktioniert es dann auch. Siehe Code-Listing unten.
Ich nutze im übrigen noch tetex und ebenfalls pdflatex.

Code:
\documentclass{article}
\usepackage{array}

\begin{document}

\begin{tabular}{m{3cm}|>{\centering\arraybackslash}m{2cm}|}
\hline
1. Werder & Meister\\
\hline
2. Schalke & CL\\
\hline
3. Bayern & CL-Quali\\
\hline
4. Stuttgart & UEFA-Cup-Platz\\
\hline
\end{tabular}

\end{document}
cu
 

*Sheep

des Unterseepudels Kern
#9
Code:
\documentclass[10pt]{article}
\begin{document}
\begin{tabular}{l|c|}
	\hline
	1. Werder & Meister!\\
	\hline
	2. Schalke & CL\\
	\hline
	3. Cottbus & CL-Quali\\
	\hline
	& UEFA-\\
	4. Stuttgart & Cup-\\
	& Platz\\
	\hline
	5. Rostock &\\
	\hline
\end{tabular}
\end{document}
trifft es nicht? Ich habe jetzt erst gesehen, daß Du dein "soll soll es aussehen" angepasst hast
 

Anhänge

Herakles

Profifragensteller
Themenstarter #10
@*Sheep: Ja, hatte ich. Entschuldige! Ich hatte in meinen ursprünglichen Post ein "[EDIT]das posting ist falsch! noch nicht antworten![/EDIT]" eingefügt. Da kann ja keienr ahnen, dass Du noch schneller bist mit Deiner Antwort, als ich im einfügen eben diesen EDITs...

Meine Herren, *Sheep, Hut ab!

@hippodriver und piet99: piets Lösung funktioniert wunderbar und weil sie mir etwas kompakter und für die Gesamttabelle übersichtlicher erscheint, habe ich sie gewählt.

DANKE!

Herakles
 
Zuletzt bearbeitet: