[Tex/LaTex] Specify the row heights of a table

tables

I need to draw a tabular like this one

enter image description here

The all rows could be a line stretch less than 1 (I set to 0.5) so as to fit the whole table on the page.
The height of the others rows which are different from the first three, for neat, should be equal the last row's natural height.

I write the code as

\documentclass{article}
\usepackage{booktabs,multirow,array,caption}

\begin{document}
\begin{table}\renewcommand{\arraystretch}{0.5}
\captionof{table}{Budget Plan 2015--2017}
\begin{tabular}{cc*{6}{>{\centering\arraybackslash}m{3em}}}
\toprule
row 1&\multirow{3}*[-1ex]{\textbf{Project}}&\multicolumn{6}{c}{\textbf{Year}}
\\\cmidrule{3-7}
row 2&&\multicolumn{2}{c}{2015}&\multicolumn{2}{c}{2016}&\multicolumn{2}{c}{2017}
\\\cmidrule{3-7}
row 3&&\pounds&\$&\pounds&\$&\pounds&\$\\\midrule
row 4&Investment Costs&60&60&60&60&60&60\\\midrule
row 5&Operating Costs&60&60&60&60&60&60\\\midrule
\vdots&\vdots\\\midrule
\multirow{2}*{row 6}&Industrial/Commercial&\multirow{2}*{60}\\
&Contract\\
\bottomrule
\end{tabular}\end{table}
\end{document}

How to get the parts of rows' height are equal while the line stretch are specified?

Best Answer

Something like this?

enter image description here

Code:

\documentclass{article}
\usepackage{booktabs,multirow,array,caption}
\newcolumntype{N}{@{}m{0pt}@{}}

\begin{document}
\begin{table}\renewcommand{\arraystretch}{0.5}
\caption{Budget Plan 2015--2017}
\begin{tabular}{cc*{6}{>{\centering\arraybackslash}m{2em}}N}
\toprule
row 1&\multirow{3}*[-1ex]{\textbf{Project}}&\multicolumn{6}{c}{\textbf{Year}}
\\\cmidrule(lr){3-8}
row 2&&\multicolumn{2}{c}{2015}&\multicolumn{2}{c}{2016}&\multicolumn{2}{c}{2017}
\\\cmidrule(lr){3-8}
row 3&&\pounds&\$&\pounds&\$&\pounds&\$\\\midrule
row 4&Investment Costs&60&60&60&60&60&60&\\[\baselineskip]\midrule
row 5&Operating Costs&60&60&60&60&60&60&\\[\baselineskip]\midrule
\vdots&\vdots\\\midrule
\multirow{2}*{row 6}&Industrial/Commercial&\multirow{2}*{60}\\
&Contract\\
\bottomrule
\end{tabular}\end{table}
\end{document} 

Remarks:

  1. I've reduced m{3em} columns to m{2em} columns to fit in the page.
  2. I've changed \cmidrule{3-7} to \cmidrule(lr){3-8}.
  3. I've introduced an additional skip (\\[\baselineskip]) in the lines where you wanted more height.
  4. I've introduced a new column type N to be used as the last one to avoid the issue described here: Vertical alignment in table: m-column, row size - problem in last column.