Wie erreiche ich in einer Tabelle mit Die dritte Spalte kann an sich so bleiben, also zentiert. Öffne in Overleaf
\documentclass[border=5mm, varwidth]{standalone} \usepackage{tikz} \usepackage{array, multirow} \begin{document} \newcolumntype{P}[2]{>{\tiny\raggedright}m{#1}} \def\Links{31} \def\oben{Das ist ein sehr langer Satz} \def\unten{bbb bbb} \def\Rechts{Multiro} \setlength{\tabcolsep}{0pt}% \begin{tabular}{| >{\Huge}l P{1.5cm}| p{1.2cm}|} \multirow{2}{*}{\Links} & \oben & \multirow{2}{1cm}{\Rechts}\\[-3pt] {} & \unten & {} \\ \end{tabular}% \end{document} gefragt 05 Nov '18, 04:42 cis |
Grundsätzlich ist meine persönliche Erfahrung, dass das Umsetzen einer gewünschten Vertikalausrichtung einfacher ist, wenn man, anstatt Im Fall von gemischten Schriftgrößen ist die Ausrichtung allerdings nicht so ganz einfach, wenn sie automatisch durchgeführt wird, da die Grundlinien an einander ausgerichtet werden. Deshalb habe ich ein kleines Makro implementiert, das sein zweites Argument soweit hebt, dass die obere Kante mit der des ersten Arguments übereinstimmt. Ich könnte das Ganze auch automatisieren, wenn das erwünscht sein sollte (mittels Öffne in Overleaf
\usepackage{array, multirow} \newcolumntype{P}[1]{>{\tiny\raggedright}p{#1}} \def\Links{31} \def\oben{Das ist ein sehr langer Satz} \def\unten{bbb bbb} \def\Rechts{Multiro} \setlength{\tabcolsep}{0pt}% \newcommand\movetoptotop[2] {% \begingroup \setbox0\hbox{#1}% \raisebox{\dimexpr\ht0-\height}{#2}% \endgroup } \begin{document} \begin{tabular}{| >{\Huge}l P{1.5cm}| p{1.2cm}|} \Links & \movetoptotop{\Huge\Links} {% \begin{tabular}{@{}P{1.5cm}@{}} \oben\\\unten \end{tabular}% } & \movetoptotop{\Huge\Links}{\Rechts} \end{tabular}% \end{document} Eine (limitierte) automatisierte Version. Ich hoffe, die Syntax ist selbsterklärend. Wichtig ist, dass die Zellen, in denen eine Öffne in Overleaf
\documentclass[border=2mm]{standalone} \usepackage{array, multirow} \usepackage{collcell} \newcolumntype{P}[1]{>{\tiny\raggedright}p{#1}} \def\Links{31} \def\oben{Das ist ein sehr langer Satz} \def\unten{bbb bbb} \def\Rechts{Multiro} \setlength{\tabcolsep}{0pt}% \newcommand\movetoptotop[2] {% \begingroup \setbox0\hbox{#1}% \raisebox{\dimexpr\ht0-\height}{#2}% \endgroup } \newcommand\onecell[2] {% \begin{tabular}{@{}#1@{}} #2% \end{tabular}% } \newcolumntype{\reference}[2] {>{\collectcell\movetoptotopsetref{#1}}#2<{\endcollectcell}} \newcolumntype{\moved}[1] {>{\collectcell\movedcol}#1<{\endcollectcell}} \newcommand\movetoptotopsetref[2] {% \gdef\movetoptotopref{#1#2}% #1#2% } \newcommand\movedcol[1] {% \movetoptotop{\movetoptotopref}{#1}% } \begin{document} \begin{tabular}{| \reference{\Huge}{l} \moved{P{1.5cm}}| \moved{p{1.2cm}}|} \Links & {\onecell{P{1.5cm}}{\oben\\\unten}} & \Rechts \end{tabular}% \end{document} beantwortet 05 Nov '18, 09:55 Skillmon Aja, mir ist aufgefallen: Wenn
(05 Nov '18, 14:28)
cis
Wobei das ist eigentlich gut.
(05 Nov '18, 14:42)
cis
1
@cis das liegt daran, dass
(05 Nov '18, 14:50)
Skillmon
Könnte man das
(05 Nov '18, 20:15)
cis
1
@cis wie bereits oben erwähnt: Ja, mittels des Pakets
(06 Nov '18, 10:30)
Skillmon
Aja, sehr gut.
(09 Nov '18, 00:06)
cis
Ergebnis 5 von 7
show 2 more comments
|
Am besten, indem du kein
\multirow
verwendest.\multirow
rät die Größe der Zeilen, die es zusammenfasst -- genau genommen nimmt es einfach nur Standardgröße an. Ist irgendetwas in den zusammengefassten Zeilen, das die Zeilen vertikal streckt, so schlägt\multirow
s Ausrichtung fehl.Außerdem hast du einen Fehler in der Definition von
P
, es müsste heißen:\newcolumntype{P}[1]{>{\tiny\raggedright}m{#1}}
(du hattest ein Argument zu viel). Für das gewünschte top-alignment ist allerdings diem
Variante ungeeignet.