Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe

Tabellen und Grafiken erstellen und anordnen


mkfr
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 25. Okt 2020, 10:55

Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe

Beitrag 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:

  1. Mindesthöhe 7mm
  2. Breite vorgegeben
  3. Zeilenumbruch automatisch
  4. 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


gast

Re: Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe

Beitrag 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.


mkfr
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 25. Okt 2020, 10:55

Re: Vertikal zentrieren bei vorgegebener minimaler Zeilenhöhe

Beitrag 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):

1.png

Und hier wie es vor TexLive 2020 mit meiner Variante war (und ich es gerne weiterhin hätte):

2.png

Bezüglich "sehen beschissen aus": Naja das liegt wohl im Auge des Betrachters :wink: ... 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.


Antworten