feste Zeilenhöhe und zentrierter Text

Tabellen und Grafiken erstellen und anordnen


noi
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 19. Sep 2020, 10:46

feste Zeilenhöhe und zentrierter Text

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


gast

Re: feste Zeilenhöhe und zentrierter Text

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


noi
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 19. Sep 2020, 10:46

Re: feste Zeilenhöhe und zentrierter Text

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

Code: Alles auswählen


\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}


noi
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 19. Sep 2020, 10:46

Re: feste Zeilenhöhe und zentrierter Text

Beitrag von noi »

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


gast

Re: feste Zeilenhöhe und zentrierter Text

Beitrag von gast »

Code: Alles auswählen

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

Code: Alles auswählen

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


Antworten