[Tex/LaTex] Make different font sizes in a table align at top, not bottom

fontsizetablesvertical alignment

I have a situation similar as to this MWE:

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}
\begin{tiny}
\begin{tabularx}{\textwidth}{|>{\normalsize}X|X|X|}
\hline
Foo & Bar & Baz\\
\hline
\end{tabularx}
\end{tiny}
\end{table}
\end{document}

I.e., I have a first column with a larger fontsize than the others.

The text is vertically aligned along the baseline, which leads to somewhat ugly whitespace at the top of the table cells. (In my real document, those cells hold multiple lines of text, which makes the effect even more ugly.)

How do I make the text align so that the normalsize and tiny cells have the same whitespace from the top of the table cell?

Google led me to raisebox, with which I did some experiments but somehow couldn't get a satisfactory result…

Best Answer

Inserting zero vertical space helps with aligning at the top:

\newcolumntype{V}{>{\vspace{0pt}}X}

Your complete example, with also \Huge text to see the effect:

\documentclass{article}
\usepackage{tabularx}
\newcolumntype{V}{>{\vspace{0pt}}X}
\begin{document}
\begin{table}
\tiny
\begin{tabularx}{\textwidth}{|>{\normalsize}V|V|>{\Huge}V|}
\hline
Foo & Bar & Baz\\
\hline
\end{tabularx}
\end{table}
\end{document}

vertically top aligned cells