Im folgenden Beispiel ist die mit p bezeichnete Spalte eine p-Spalte. Die rechten drei Spalten sind m-Spalten, wobei der Inhalt der einen Spalte sowohl Tiefe als auch Höhe hat, der Inhalt der anderen beiden hat dagegen nur entweder Tiefe oder Höhe. Höhe bzw. Tiefe des Inhalts ist jeweils relativ zu Höhe bzw. Tiefe einer \strutbox gewählt. Der jeweilige Faktor steht in der ersten Spalte in Klammern.

alt text

Wenn man sich das Bild anschaut, stellt sich die Frage, was genau bei Verwendung von m-Spalten vertikal zentriert wird und bezüglich welcher Linie diese Zentrierung erfolgt.

Code für obige Tabelle:

Open in Online-Editor
\documentclass[margin=10pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{array}
\usepackage{booktabs}
\setlength\tabcolsep{2pt}
\newcommand\ph[2][0pt]{\textcolor{red}{\rule[#1]{2pt}{\dimexpr#2\relax}}}
\begin{document}
\begin{tabular}{>{\tiny}lp{4ex}<{\hrulefill}*{3}{m{4ex}<{\hrulefill}}}
&\multicolumn{1}{c}{\tiny p}&\multicolumn{1}{c}{\tiny m th}&\multicolumn{1}{c}{\tiny m t}&\multicolumn{1}{c}{\tiny m h}\\
a (1)
  &\ph[-\dp\strutbox]{\ht\strutbox+\dp\strutbox}
  &\ph[-\dp\strutbox]{\ht\strutbox+\dp\strutbox}
  &\ph[-\dp\strutbox]{\dp\strutbox}
  &\ph{\ht\strutbox}\\
b (.5)
  &\ph[-.5\dp\strutbox]{.5\ht\strutbox+.5\dp\strutbox}
  &\ph[-.5\dp\strutbox]{.5\ht\strutbox+.5\dp\strutbox}
  &\ph[-.5\dp\strutbox]{.5\dp\strutbox}
  &\ph{.5\ht\strutbox}\\
c (2)
  &\ph[-2\dp\strutbox]{2\ht\strutbox+2\dp\strutbox}
  &\ph[-2\dp\strutbox]{2\ht\strutbox+2\dp\strutbox}
  &\ph[-2\dp\strutbox]{2\dp\strutbox}
  &\ph{2\ht\strutbox}\\\addlinespace
\end{tabular}
\end{document}

gefragt 14 Feb '15, 09:08

esdd's gravatar image

esdd
14.2k53251
Akzeptiert: 87%

Die Frage habe ich aus Interesse gestellt, es ist kein Support nötig.

(14 Feb '15, 09:17) esdd

Der m-Typ benutzt \vcenter und zentriert daher entlang der mathematischen Achse (bei normaler Schriftgröße etwa 2.5pt oberhalb der Grundlinie). Ein Pfeil ($\rightarrow$) sollte also normalerweise auf die Mitte zeigen. Verkompliziert wird das Ganze durch die \strut, die in Tabellen automatisch eingefügt werden: Wenn deine \rule zu klein sind, wird der Inhalt dadurch unsichtbar vergrößert.

Edit

Jetzt werden schon meine schnellen Kommentare in Antworten verwandelt. Das setzt einem ja wirklich unter Druck. Nun gut hier etwas Code, mit dem besser sehen kann, welche Stützen und Linien in der Tabelle rumschwirren. Man beachte auch, dass die "mathematische Achse" von der Schriftgröße abhängt, daher wurde der Pfeil in \normalsize geschrieben. Man beachte auch, dass die (blaue) \vrule aus \@startpbox ein feste Höhe hat, ihre Tiefe sich aber automatisch an die Tiefe der Box anpasst.

Open in Online-Editor
\documentclass[margin=10pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{array}
\usepackage{booktabs,tikz}
\setlength\tabcolsep{2pt}
\makeatletter
\def\@startpbox#1{\bgroup
  \setlength\hsize{#1}\@arrayparboxrestore
   \everypar{%
      {\color{blue}\vrule \@height \ht\@arstrutbox \@width  0.5pt}%
      \everypar{}}%
   }
\def\@finalstrut#1{%
  \unskip\ifhmode\nobreak\fi\color{green}\vrule\@width0.5pt\@height\z@\@depth\dp#1}
\makeatother
\newcommand\ph[2][0pt]{\textcolor{red}{\rule[#1]{2pt}{\dimexpr#2\relax}}}
\begin{document}

\begin{tabular}{>{\tiny}l<{\normalsize\hfill$\rightarrow$}>{}p{4ex}<{\hrulefill}*{3}{m{4ex}<{\hrulefill}}}
&\multicolumn{1}{c}{\tiny p}&\multicolumn{1}{c}{\tiny m th}&\multicolumn{1}{c}{\tiny m t}&\multicolumn{1}{c}{\tiny m h}\\
a (1)
  &\ph[-\dp\strutbox]{\ht\strutbox+\dp\strutbox}
  &\ph[-\dp\strutbox]{\ht\strutbox+\dp\strutbox}
  &\ph[-\dp\strutbox]{\dp\strutbox}
  &\ph{\ht\strutbox}\\\addlinespace
b (.5)
  &\ph[-.5\dp\strutbox]{.5\ht\strutbox+.5\dp\strutbox}
  &\ph[-.5\dp\strutbox]{.5\ht\strutbox+.5\dp\strutbox}
  &\ph[-.5\dp\strutbox]{.5\dp\strutbox}
  &\ph{.5\ht\strutbox}\\\addlinespace
c (2)
  &\ph[-2\dp\strutbox]{2\ht\strutbox+2\dp\strutbox}
  &\ph[-2\dp\strutbox]{2\ht\strutbox+2\dp\strutbox}
  &\ph[-2\dp\strutbox]{2\dp\strutbox}
  &\ph{2\ht\strutbox}\\\addlinespace
\end{tabular}
\end{document}

alt text

Permanenter link

beantwortet 14 Feb '15, 10:30

Ulrike%20Fischer's gravatar image

Ulrike Fischer
2.2k13

bearbeitet 15 Feb '15, 06:22

Die Umwandlung hatte ich mir erlaubt, weil IMHO der kurze Kommentar den Kern der Frage bereits erfasste und (kurz) beantwortete. Wenn ich Dich damit zu dieser ausführlicheren Darstellung der Thematik verleiten konnte, nehme ich die Kritik an der Umwandlung sehr, sehr gerne entgegen. ;-)

(15 Feb '15, 06:34) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×185
×108
×57

Frage gestellt: 14 Feb '15, 09:08

Frage wurde angeschaut: 2,344 Mal

Zuletzt aktualisiert: 15 Feb '15, 06:34