Seite 1 von 1

feste Zeilenhöhe und zentrierter Text

Verfasst: Sa 19. Sep 2020, 10:51
von noi

Hallo,
ich würde gerne eine Tabelle mit fester Zeilenhöhe erstellen. Dies habe ich mit dem rule-Befehl gemacht. Nun richtet sich der Text aber am unteren Rand aus. Kann mir jemand sagen, wie ich den Text in die Mitte der Zeile positionieren kann?
Danke!

Mein Beispiel:
\documentclass[landscape]{article}
...
\begin{tabular}{|p{0.5cm}|p{12cm}|p{0.5cm}|p{12cm}|}
\hline
\rule{0pt}{6cm} 1.1& {A}&1.2& {B}\\
\hline
\rule{0pt}{6cm} 1.3& {C}&1.4& {D}\\
\endline

\end{tabular}


Re: feste Zeilenhöhe und zentrierter Text

Verfasst: Sa 19. Sep 2020, 11:31
von gast

Die Grundlinie von \rule (← das ist ein Link) liegt in der Voreinstellung unten. Über das optionale Argument, kann man das ändern. Ggf. kann man den Abstand der Tabellenzeile auch über das optionale Argument von \\ verändern und so eine größere Tiefe simulieren. Und natürlich könnte man mit \vspace und \par auch tatsächlich vertikalen Abstand innerhalb der Tabellenzelle schaffen.

Bitte markiere Code in Beiträgen als solchen. Das geht einfach über den </>-Knopf. Und statt eines Codeausschnitts wäre ein Minimalbeispiel ggf. hilfreich, falls wir unsere Antworten auch testen und als vorführen sollen.


Re: feste Zeilenhöhe und zentrierter Text

Verfasst: Sa 19. Sep 2020, 12:26
von noi

Hallo,
danke! Ich habe ein bisschen zum Befehl \rule recherchiert.
Es erschließt sich mir nicht, wie ich die Zeilenhöhe von 6cm beibehalten und den Text mittig platzieren kann. Ich probiere es noch einmal mit dem Minimalbeispiel mit dem Befehl \rule, in der 1. Zeile nun nicht mehr mit 6cm, aber trotzdem nicht mittig. Leider verstehe ich nicht, wie mir die Verschiebung der Vertikalen (so beschrieben im Link) helfen kann, mit den Einstellungen [5\dp\strutbox] habe ich herumgespielt, wahrscheinlich ergeben sie keinen Sinn.

\documentclass[landscape]{article}

\usepackage[utf8x]{inputenc}
\usepackage{ngerman}
\usepackage{amsmath,amssymb,amstext}
\usepackage[a4paper, left=1cm, top=2cm]{geometry}

\usepackage{tabularx}

\begin{document}

\begin{tabular}{|p{0.5cm}|p{12cm}|p{0.5cm}|p{12cm}|}
\hline
\rule[5\dp\strutbox]{0pt}{10\baselineskip} 1.1& {A}&1.2& {B}\\
\hline
\rule{0pt}{6cm} 1.3& {C}&1.4& {D}\\
\hline

\end{tabular}

\end{document}


Re: feste Zeilenhöhe und zentrierter Text

Verfasst: Sa 19. Sep 2020, 13:02
von noi

Ok, ich habe das Problem nun unschön mit Leerzeilen und multirow gelöst. Aber geht so. Danke.


Re: feste Zeilenhöhe und zentrierter Text

Verfasst: Sa 19. Sep 2020, 14:09
von gast
\documentclass[landscape]{article}

\usepackage[utf8]{inputenc}% utf8x führt zu Problemen mit diversen anderen Paketen und eigentlich wird die Zeile seit LaTeX 2018-04-01 auch nicht mehr benötigt
\usepackage[ngerman]{babel}% Das Paket ngerman ist veraltet und kann mit anderen Paketen zu Problemen führen.
\usepackage{amsmath,amssymb,amstext}% Braucht es für das Beispiel eigentlich nicht.
\usepackage[a4paper, left=1cm, top=2cm]{geometry}% Braucht es für das Beispiel eigentlich nicht.
\usepackage{tabularx}% Braucht es für das Beispiel eigentlich nicht, lädt aber array, das gebraucht wird.
\newcolumntype{v}[2]{>{\rule[-\dimexpr #2/2-.5\dp\strutbox]{0pt}{#2}}p{#1}}
\begin{document}

\begin{tabular}{|v{0.5cm}{6cm}|v{12cm}{6cm}|v{0.5cm}{6cm}|v{12cm}{6cm}|}
\hline
 1.1& {A}&1.2& {B}\\
\hline
 1.3& {C}&1.4& {D}\\
\hline
\end{tabular}

\end{document}

\rule funktioniert schon, wenn man es richtig anwendet. Die -.5\dp\strutbox sind dabei eher Kosmetik.

Ebenfalls funktionieren würde beispielsweise:

\documentclass[landscape]{article}

\usepackage[utf8x]{inputenc}
\usepackage{ngerman}
\usepackage{amsmath,amssymb,amstext}
\usepackage[a4paper, left=1cm, top=2cm]{geometry}
\usepackage{tabularx}
\newcolumntype{v}[2]{>{\rule[-\dimexpr #2/2-.5\dp\strutbox]{0pt}{#2}}p{#1}}
\begin{document}

\begin{tabular}{|v{0.5cm}{6cm}|m{12cm}|m{0.5cm}|m{12cm}|}
\hline
 1.1& {A}&1.2& {B}\\
\hline
 1.3& {C}&1.4& {D}\\
\hline

\end{tabular}

\end{document}

Es gibt sicher weitere mögliche Varianten.