Vertikale Zentrierung in Tabellenzeile bei Umbruch

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Vertikale Zentrierung in Tabellenzeile bei Umbruch

von EliasvonB » Di 8. Mär 2016, 14:39

Vielen Dank 'Besserwisser' !

Booktabs waren anscheinend genau das was ich gesucht habe. Habe die Änderung bereits implementiert und nun verhält sich alles wunderbar. :)

Danke für deine Mühe. Einen schönen Tag noch!

Gruß Elias

von u_fischer » Di 8. Mär 2016, 11:48

\\[0.7ex] eignet sich hier nicht dazu, zusätzlichen Abstand nach der Linie einzufügen. Du kannst aber \extrarowheight=2pt setzen.

von Besserwisser » Di 8. Mär 2016, 11:10

Am besten lässt man die ganzen den Lesefluss ohnehin sehr störenden vertikalen Linien weg und verwendet booktabs:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage[left=1.3cm,right=0.7cm,top=0.1cm,bottom=1.0cm,includefoot,includehead,headheight=210pt,headsep=0cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{booktabs}

% Regeln für die Ausrichtung in Tabellen
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}}

\begin{document}
\large
\begin{longtable}{C{0.6cm}C{1.55cm}L{7cm}L{3.5cm}C{1.2cm}C{2.5cm}} 
\toprule
\textbf{Pos}  & \textbf{Art-Nr}    & \textbf{Bezeichnung} & \textbf{Farbe} & \textbf{Menge} & \textbf{usw.} \\
\midrule
\endhead
 1  & 12345/00      & Hier ist alles gut                                      & schwarz  &  1  &    \\
\midrule
 2  & 12345/00      & Im Gegensatz zu hier, wo die Zeile automatisch umbricht & weiß     &  1  &    \\
\bottomrule
\end{longtable}
\end{document}
Was die leere Spalte am Ende sollte, hat sich mir auch nicht erschlossen, weshalb ich auch diese entfernt habe.

Das Hauptproblem ist übrigens das optionale Argument von \\, das sich bei Absatzspalten nicht ganz so verhält, wie man das erwarten würde. Auch dafür bietet booktabs eine Alternative. Wenn man allerdings jede Tabellenzeile mit einem optionalen Argument für \\ beendet, hat man meist etwas falsch gemacht und wäre beispielsweise mit \arraystretch (siehe eine beliebige, ausführliche LaTeX-Einführung) besser bedient.

Vertikale Zentrierung in Tabellenzeile bei Umbruch

von EliasvonB » Di 8. Mär 2016, 09:44

Servus in die Runde! :)
Ich habe folgende Problematik und hoffe durch diesen Beitrag hilfreiche Hinweise zu bekommen.
Ich habe eine longtable, die mit dynamischen Inhalten gefüllt wird. So lange der Inhalt der Spalte 'Bezeichnung' nicht umbricht, ist alles in Ordnung. Ist der Inhalt allerdings zu lang und es kommt zu einem automatischen Umbruch, dann wird der Inhalt der ganzen Zeile leicht an den oberen Rand gedrückt. Mein Wunsch ist es aber, dass der Inhalt der Zeile anschließend immer noch vertikal zentriert ist. Lässt sich das auf irgendeine Weise realisieren?
Vielen Dank schon mal im voraus!

Gruß Elias

PS: Unten stehender Code ist nur ein Auszug.
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage[left=1.3cm,right=0.7cm,top=0.1cm,bottom=1.0cm,includefoot,includehead,headheight=210pt,headsep=0cm]{geometry}
\usepackage[T1]{fontenc}

% Regeln für die Ausrichtung in Tabellen
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}}

\begin{document}
\begin{large}
\begin{longtable}{@{}C{0.6cm} | @{  }C{1.55cm} | L{7cm} | L{3.5cm} | @{  }C{1.2cm} | C{2.5cm} @{}m{0cm}@{} } 
\hline 

\textbf{Pos}  & \textbf{Art-Nr} 	& \textbf{Bezeichnung} & \textbf{Farbe} & \textbf{Menge} & \textbf{usw.} &\\ [1.7ex]  \hline
\endhead
 1  & 12345/00      & Hier ist alles gut                                      & schwarz  &  1  & 	&\\ [0.7ex] \hline
 2  & 12345/00      & Im Gegensatz zu hier, wo die Zeile automatisch umbricht & weiß     &  1  &    &\\ [0.7ex] \hline
\end{longtable}
\end{large}
\end{document}
Dateianhänge
Liste.pdf
(21.39 KiB) 217-mal heruntergeladen

Nach oben