Seite 1 von 1
Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe
Verfasst: So 25. Okt 2020, 11:09
von mkfr
Liebe Golatexler!
Leider habe ich ich ein Problem, das mir seit längerem Kopfzerbrechen bereitet. Ich würde gerne bei vorgegebener mindest-Zeilenhöhe Inhalte vertikal zentrieren. Das habe ich vor längerer Zeit wie folgt gelöst:
\documentclass{amsart}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe
\newcolumntype{N}{@{}m{0pt}@{}}
\begin{document}
\begin{tabular}{|m{5cm}|C{1cm}|N}\hline
Ein kurzer Text. & \framebox{\phantom{/\_}} & \\[7mm]\hline
Ein zu langer Text mit einem Zeilenumbruch. & \framebox{\phantom{/\_}} & \\[7mm]\hline
\end{tabular}
\end{document}
Das hat bis zum Update auf TexLive2020 wunderbar funktioniert und alles gemacht, was es machen sollte:
- Mindesthöhe 7mm
- Breite vorgegeben
- Zeilenumbruch automatisch
- Vertikal zentriert in letzter Spalte
Jetzt ist allerdings bei einzeiligem Text die vertikale Zentrierung "defekt".
Ich habe auch den Grund herausgefunden, offenbar habe ich damals einen "Bug" der tabular/array-Umgebung genützt, allerdings wurde dieser behoben...
Leider finde ich auch nach Langem Googeln und Probieren keine zufriedenstellende Lösung!
Ich wäre um Ideen sehr dankbar!
LG Markus
Re: Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe
Verfasst: So 25. Okt 2020, 12:34
von gast
Bin nicht sicher, dass ich dein Problem wirklich verstehe, aber Mindesthöhe geht beispielsweise über eine unsichtbare Stütze:
\documentclass{amsart}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentriert mit Breitenangabe
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe
\newcolumntype{N}{@{}m{0pt}@{}}
\begin{document}
\begin{tabular}{|m{5cm}|C{1cm}|N}\hline
Ein kurzer Text. & \rule[-\dp\strutbox]{0pt}{7mm}\framebox{\phantom{/\_}} & \\\hline
Ein zu langer Text mit einem Zeilenumbruch. & \rule[-\dp\strutbox]{0pt}{7mm}\framebox{\phantom{/\_}} & \\\hline
\end{tabular}
\end{document}
Die \rule kann man natürlich auch in die Definition der Spalte mit einbauen.
Ankreuzkästchen in umrandeten Tabellenzellen (die ohnehin aus typografisch Gründen abzulehnen sind) sehen übrigens beschissen aus.
Re: Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe
Verfasst: So 25. Okt 2020, 16:54
von mkfr
Danke erstmal für die Hilfe, deine Methode habe ich auch schon versucht, es sieht allerdings auch nicht so aus, wie ich es gerne hätte (nicht vertikal zentriert). Hier mal eine Bild von meiner Variante (oben) und deiner Variante (unten):
Und hier wie es vor TexLive 2020 mit meiner Variante war (und ich es gerne weiterhin hätte):
Bezüglich "sehen beschissen aus": Naja das liegt wohl im Auge des Betrachters ... es muss jedoch so aussehen, da das eine Vorlage für Multiple Choice Fragen im österreichischen Zentralmatura-Format werden soll... und die müssen eben so aussehen.