2

I am using siunitx and booktabs, but I need a bit more vertical space between my units.

Here is a picture of my problem:

siunitx spacing problem

Here is a MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\sisetup{range-phrase=-,
            detect-all,
            decimalsymbol=comma,
            round-mode=figures,
            round-precision=3,
            range-units=single,
            per-mode=fraction,}
\usepackage{booktabs}

\begin{document}

\begin{table}[htbp] \centering \begin{tabular}[]{llr} \toprule Parameter & Symbol & Wert \ \midrule A &A2 &\SI{1096}{\kg \per \cubic \meter } \ B &B2 &\SI{0,422}{\watt \per \meter \per \kelvin} \ C &C2 &\SI{3220}{\joule \per \kg \per \kelvin} \ D &D2 &\SI{0,0274}{\kg \per \meter \per \second} \ \bottomrule \end{tabular} \end{table}

\end{document}

Markus G.
  • 2,735

3 Answers3

3

The automatic way uses the cellspace package, which ensures a minimal vertical spacing at the top and bottom of cells in columns with specifier prefixed with a certain letter – default is S, but as you load siunitx, we have to use another letter, definable as an option at loading time. Here is how it goes with your table:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\sisetup{range-phrase=-,
            detect-all,
            decimalsymbol=comma,
            round-mode=figures,
            round-precision=3,
            range-units=single,
            per-mode=fraction,}
\usepackage{booktabs}
\usepackage[column=O]{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}

\begin{document}

\begin{table}[htbp] \centering \begin{tabular}[]{llOr} \toprule Parameter & Symbol & Wert \ \midrule A &A2 &\SI{1096}{\kg \per \cubic \meter } \ B &B2 &\SI{0,422}{\watt \per \meter \per \kelvin} \ C &C2 &\SI{3220}{\joule \per \kg \per \kelvin} \ D &D2 &\SI{0,0274}{\kg \per \meter \per \second} \ \bottomrule \end{tabular} \end{table}

\end{document}

enter image description here

Bernard
  • 271,350
1

Bernard has given an answer using cellspace. The package nicematrix (which provides several tools to draw tabulars and mathematical matrices) has a slightly different approach: all the columns of the environments {NiceTabular} of nicematrix are of type 'cellspace' and you have two keys cell-space-top-limit and cell-space-bottom-limit similar to the parameters \cellspacetoplimit and \cellspacebottomlimit of cellspace.

\documentclass{article}
\usepackage{siunitx}
\sisetup{range-phrase=-,
            detect-all,
            decimalsymbol=comma,
            round-mode=figures,
            round-precision=3,
            range-units=single,
            per-mode=fraction}
\usepackage{nicematrix}
\usepackage{booktabs}

\begin{document}

\NiceMatrixOptions{cell-space-top-limit=3pt,cell-space-bottom-limit=3pt}

\begin{table}[htbp] \centering \begin{NiceTabular}[]{llr} \toprule Parameter & Symbol & Wert \ \midrule A &A2 &\SI{1096}{\kg \per \cubic \meter } \ B &B2 &\SI{0,422}{\watt \per \meter \per \kelvin} \ C &C2 &\SI{3220}{\joule \per \kg \per \kelvin} \ D &D2 &\SI{0,0274}{\kg \per \meter \per \second} \ \bottomrule \end{NiceTabular} \end{table}

\end{document}

Ouput of the above code

Bernard
  • 271,350
F. Pantigny
  • 40,250
0

One possibility is to enlarge `\arraystretch˙and change the way of writing units:

\documentclass{article}
\usepackage{siunitx}
\sisetup{range-phrase=-,
            detect-all,
            decimalsymbol=comma,
            round-mode=figures,
            round-precision=3,
            range-units=single,
            per-mode=symbol,}   % <---
\usepackage{booktabs}

\begin{document}

\begin{table}[htbp] \centering \renewcommand\arraystretch{1.2} % <--- \begin{tabular}[]{llr} \toprule Parameter & Symbol & Wert \ \midrule A &A2 &\SI{1096}{\kg \per \cubic \meter } \ B &B2 &\SI{0,422}{\watt \per \meter \per \kelvin} \ C &C2 &\SI{3220}{\joule \per \kg \per \kelvin} \ D &D2 &\SI{0,0274}{\kg \per \meter \per \second} \ \bottomrule \end{tabular} \end{table}

\end{document}

enter image description here

Zarko
  • 296,517