How does one increase the height of the rows in a LaTeX table?
4 Answers
Use package easytable
\documentclass{article}
\usepackage[thinlines]{easytable}
\begin{document}
\begin{TAB}(r,1cm,2cm)[5pt]{|c|c|}{|c|c|c|}% (rows,min,max)[tabcolsep]{columns}{rows}
hi & tall one \\
hi & medium one \\
hi & standard one\\
\end{TAB}
\end{document}
-
Thank you! Can you also help in this tex.stackexchange.com/questions/159259/… Feb 8, 2014 at 8:58
-
1done. See answer– user2478Feb 8, 2014 at 9:23
-
1But I want one that can automatically span width, and break pages, and ... (My point is that I should have to use a different environment to modify row spacing ;-) ) Aug 5, 2016 at 13:16
-
-
I would like to add this documentation to this answer: ctan.org/pkg/easytable– I.StepJan 27, 2022 at 20:51
To increase the row height in a table you can either increase the \extrarowheight
through something like
\setlength\extrarowheight{5pt}
or stretch the row through something like
\renewcommand{\arraystretch}{1.2}
as Thorsten Donig points out in the above comment.
IMHO, the best way to increase the height and keep the vertical alignment is to add the space when you break the row with \\
, for example with \\[5pt]
.
This is an example (I've exaggerated a little with 50pt
here)
\documentclass{article}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{N}{@{}m{0pt}@{}}
\begin{document}
\begin{table}[ht]
\begin{tabular}{|M{4cm}|M{4cm}|N}
\hline
\textbf{Text} & \textbf{Text} &\\[50pt]
\hline
text & text&\\[50pt]
\hline
\end{tabular}
\end{table}
\end{document}
Note that I've added a column as the last one defined as @{}m{0pt}@{}
to avoid the issue described here: Vertical alignment in table: m-column, row size - problem in last column.
Output
-
5I prefer the
\renewcommand{\arraystretch}{1.2}
. I did not see how to use the other method and still set the horizontal alignment, i.e., l/c/r. Nov 12, 2015 at 2:50 -
3@stvn66 For left alignment, define
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
and, for right,\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}}
– SterryDec 21, 2015 at 18:32 -
Unfortunately, the author-preferred solution doesn't work at all, at least not on my machine. 112 upvotes got me and I tried to incorporate this thing without trying. I hope that other people see this comment before trying it out in their work, and try the solution to see if it works at all, despite >100 votes on it. Dec 1, 2018 at 21:43
-
Using \newcolumntype{N}{@{}m{0pt}@{}} to create an extra 'null' cell is an ingenious idea. Works well– V-RedAug 2, 2019 at 19:51
-
Super Simple Solution
I faced similar problem, & found a (not so conventional but) simple way to solve it. Wish, it will help others too.
I had a table like this-
\begin{tabular}{c|ccc}
$x$ & 1 & 2 & 3\\ \hline
$f(x)$ & 1 & 2 & 3
\end{tabular}
And, I wanted to put some extra space before the second row-
So, I inserted an extra empty line-
\begin{tabular}{c|ccc}
$x$ & 1 & 2 & 3\\ \hline
\\
$f(x)$ & 1 & 2 & 3
\end{tabular}
But, now I had put too much space there-
So, I used negative line spacing to reduce it-
\begin{tabular}{c|ccc}
$x$ & 1 & 2 & 3\\ \hline
\\[-1em]
$f(x)$ & 1 & 2 & 3
\end{tabular}
Great! everything was perfect-
-
22I really like this solution because it's simple and easy to control. One note is that if you have vertical lines between your other columns you have to add "&&&" as many times as it takes so that the vertical lines connect down.– MsTiggyJul 23, 2016 at 22:38
-
8To complete the comment above: avoid disconnection of multiple vertical lines by using:
&&&\\[-1em]
– hannaMar 10, 2018 at 22:50 -
I appreciate this very simple answer, but it resulted in gaps in the vertical lines separating columns. How do I fix this? Mar 14, 2018 at 20:25
-
The arraystretch solution keeps the vertical bars looking normal: tex.stackexchange.com/a/31681/192461 Feb 27, 2020 at 13:49
-
1Has anyone noticed the double (thicker) vertical line on the second row? This solution may be easy but far from elegant and perfect... Dec 10, 2020 at 12:52
Use \rule{0pt}{value}
to change the single row height to value.
-
See tex.stackexchange.com/a/554661/250119 for an example where it's used. May 6, 2022 at 16:10
\extrarowheight
just modify\arraystretch
, e.g. by\renewcommand{\arraystretch}{1.2}
.