I want to create a LaTeX table with three rows which have different row heights. How can I do this?
The following code
\renewcommand\arraystretch{2.4} \setlength\minrowclearance{2.4pt}
seems make each row has the same height.
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It only takes a minute to sign up.
Sign up to join this communityI want to create a LaTeX table with three rows which have different row heights. How can I do this?
The following code
\renewcommand\arraystretch{2.4} \setlength\minrowclearance{2.4pt}
seems make each row has the same height.
Try this:
\documentclass{article}
\begin{document}
\begin{tabular}{cc}
\hline
hi & tall one\\[10ex]
\hline
hi & medium one\\[5ex]
\hline
hi & standard one\\
\hline
\end{tabular}
\end{document}
So you can specify the height of a row with the optional argument
\\[<space>]
adds space to the end of the last cell, so if the last cell of each row has significantly different contents, then the row height can vary. This is easily solved by adding an extra column, and keeping it empty. Then \\[<space>]
always makes the row <space>
as a minimum.
– Nathanael Farley
Dec 17 '12 at 11:03
{cc@{}c@{}}
as the @{}
will make the space either side of the empty column 0 pt.
– Nathanael Farley
Aug 18 '14 at 9:12
As none of the current answers address the issue of how to center the content vertically, I here introduce \xrowht[<footprint>]{<length>}
to add an extra .5<length>
of height above and below a \vphantom
of a <footprint>
. The default footprint takes the height of a 0
character, which is great if the data has no descenders. For data with descenders, an optionally specified footprint of ()
makes more sense.
\xrowht
can be added to any cell in the row. Here, I add it to the 1st column cells, for convenience.
In the MWE, the 1st row is unmodified, then for successive rows, 10pt, 20pt, 30pt, and 40pt are symmetrically added. I also use an optional footprint in the 2nd row, which contains descenders.
\documentclass{article}
\usepackage{stackengine}
\newcommand\xrowht[2][0]{\addstackgap[.5\dimexpr#2\relax]{\vphantom{#1}}}
\begin{document}
\begin{table}[h]
\begin{tabular}{|c|l|}
\hline
col1 & col2 \\
\hline\xrowht[()]{10pt}
1 & 2g \\
\hline\xrowht{20pt}
3 & 4 \\
\hline\xrowht{30pt}
5 & 6 \\
\hline\xrowht{40pt}
7 & 8 \\
\hline
\end{tabular}
\end{table}
\end{document}
\xrowht{20pt}
afterr the first \hline
results in \xrowht{20pt}
...
– Theova
Feb 27 '20 at 16:56
main.tex|56 error| Misplaced \noalign. main.tex|56 error| Misplaced \omit.
– Theova
Feb 27 '20 at 17:09
\documentclass{article} \usepackage{stackengine} \usepackage{multicol} \newcommand\xrowht[2][0]{\addstackgap[.5\dimexpr#2\relax]{\vphantom{#1}}} \begin{document} \begin{table}[h] \begin{tabular}{|c|l|} \xrowht{20pt} \multicolumn{2}{|c|}{ multicol } \\ \hline\xrowht{20pt} col1 & col2 \\ \hline\xrowht[()]{10pt} 1 & 2g \\ \hline\xrowht{20pt} 3 & 4 \\ \hline\xrowht{30pt} 5 & 6 \\ \hline\xrowht{40pt} 7 & 8 \\ \hline \end{tabular} \end{table} \end{document}
– Theova
Feb 27 '20 at 17:37
\xrowht
macrow inside the \multicolumn
, such as \multicolumn{2}{|c|}{ \xrowht{20pt} multicol } \\
– Steven B. Segletes
Feb 27 '20 at 17:41
Code for a latex table with adjustable row height. (Credits to previous posts)
\begin{table}[h]
\begin{tabular}{|c|l|}
\hline
col1 & col2 \\%[2ex]
\hline
& \\[-2ex]
1 & 2 \\[0.75ex]
\hline
& \\[-2ex]
3 & 4 \\[2ex]
\hline
& \\[2ex]
5 & 6 \\[3ex]
\hline
& \\
7 & 8 \\
\hline
\end{tabular}
\end{table}
\minrowclearance
is an undefined control sequence. Do you need to load a package? – Karlo Dec 11 '19 at 10:58