表格中没有足够的空间容纳分数

表格中没有足够的空间容纳分数

我想制作的表格无法显示分数,并且行与行之间的间距不够。这是什么原因造成的?(遗憾的是,我的声誉还不足以发布图片。)

\documentclass{article}
\usepackage{amsmath,amsfonts}
\usepackage{booktabs}

\begin{document}
\begin{table}
\centering
\begin{tabular}{lcccc}
\toprule
\textbf{Care type} & $\mathbb{P}(Pat \cap H)$ & $\mathbb{P}(Pat \cap H')$ & $\mathbb{P}(Pat' \cap H)$ & $\mathbb{P}(Pat' \cap H')$\\
\midrule
Direct care  &$\displaystyle \dfrac{58}{197}$  &  $\displaystyle \dfrac{48}{197}$  & $\displaystyle \dfrac{21}{197}$* &$1-\displaystyle \dfrac{58}{197}$ \\
Housekeeping &$\displaystyle \dfrac{12}{17}$  &  $\displaystyle \dfrac{2}{17}$  & $\displaystyle \dfrac{5}{17}$* &$1-\displaystyle \dfrac{12}{17}$\\
\bottomrule
\end{tabular}
\caption{Probabilities of hand hygiene given direct patient contact}
\label{tab:handwash_given_pat}
\end{table}
\end{document}

编辑:添加图像并完成 MWE。

表格的行太窄

答案1

可以通过多种方法手动固定间距:

  • \renewcommand*{\arraystretch}{2} (参见 Herbert 的评论)
    然而,这也会影响其他行的间距。

  • 在的可选参数中添加垂直空格\\,例如:

    \begin{tabular}{...}
      ...
      ...\\[2ex]
      ...\\[1.5ex]
      \bottomrule
    \end{tabular}
    
  • 在行中添加一条不可见的规则,例如:

    \begin{tabular}{...}
      ...
      \rule{0pt}{3.5ex}Direct care ...\\
      \rule[-2.5ex]{0pt}{7ex}Housekeeping ...\\
      \bottomrule
    \end{tabular}
    

答案2

我将添加另外三种方法。

首先,由于您加载了,因此您可以在第二行和第三行之间booktabs添加。\addlinespace

其次,您可以使用cellspace包,它使您能够定义最小带有以字母为前缀的说明符的列中单元格顶部和底部的垂直间距S(或C如果您使用siunitx)。这样,内容在单元格中垂直居中,与使用相反\arraystretch

最后,该makecell包通过其\setcellgapes\makegapedcells命令,添加每个单元格顶部和底部的垂直间距。也可以使用命令对单个单元格执行此\Gaped操作。

\documentclass{article}
\usepackage{amsmath,amsfonts}
\usepackage{booktabs}
\usepackage{cellspace}%
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\usepackage{makecell}
\setcellgapes{3pt}

\begin{document}

\begin{table}[!htbp]
  \centering
  \begin{tabular}{l*{4}{>{$}c<{$}}}
    \toprule
    \textbf{Care type} & \mathbb{P}(Pat ∩ H) & \mathbb{P}(Pat ∩ H') &  \mathbb{P}(Pat' ∩ H) & \mathbb{P}(Pat' ∩ H')  \\ \midrule
    Direct care & \dfrac{58}{197} & \dfrac{48}{197} & \dfrac{21}{197} * & 1-\dfrac{58}{197}  \\\addlinespace%
    Housekeeping & \dfrac{12}{17} & \dfrac{2}{17} &\dfrac{5}{17}* &  1- \dfrac{12}{17} \\ \bottomrule
  \end{tabular}
  \caption{Probabilities of hand hygiene given direct patient contact}
  \label{tab:handwash_given_pat}
\end{table}

\begin{table}[!htbp]
  \centering
  \begin{tabular}{l*{4}{>{$}Sc<{$}}}
    \toprule
    \textbf{Care type} &  \mathbb{P}(Pat ∩ H)$ & \mathbb{P}(Pat ∩ H') & \mathbb{P}(Pat' ∩ H)  &  \mathbb{P}(Pat' ∩ H') \\ \midrule
    Direct care & \dfrac{58}{197} & \dfrac{48}{197} & \dfrac{21}{197}* &  1-\dfrac{58}{197} \\%
    Housekeeping & \dfrac{12}{17} & \dfrac{2}{17} & \dfrac{5}{17}* &  1-\dfrac{12}{17} \\ \bottomrule
  \end{tabular}
  \caption{Probabilities of hand hygiene given direct patient contact}
  \label{tab:handwash_given_pat}
\end{table}

\begin{table}[!htbp]
  \centering\makegapedcells
  \begin{tabular}{l*{4}{c}}
    \toprule
    \textbf{Care type} & mathbb{P}(Pat ∩ H) & \mathbb{P}(Pat ∩ H') & \mathbb{P}(Pat' ∩ H) & \mathbb{P}(Pat' ∩ H') \\ \midrule
    Direct care & \dfrac{58}{197} & \dfrac{48}{197} & \dfrac{21}{197}$* & 1-\dfrac{58}{197} \\%
    Housekeeping & \dfrac{12}{17} &\dfrac{2}{17} & \dfrac{5}{17}$* & 1-\dfrac{12}{17} \\ \bottomrule
  \end{tabular}
  \caption{Probabilities of hand hygiene given direct patient contact}
  \label{tab:handwash_given_pat}
\end{table}

\end{document} 

在此处输入图片描述

答案3

另一个选择是使用包单位然后将你的 替换\frac{a}{b}\nicefrac{a}{b}。分子和分母将对角偏移,并且它们可以很好地适应表格。

答案4

对我来说,$\displaystyle \dfrac{\mathstrut 58}{\mathstrut 197}$在只有少量元素的情况下效果很好。有关\mathstrut和朋友们,看看这里

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{tabular}{|l|}
    \hline
    $\dfrac{100}{30}$\\
    \hline
    $\dfrac{\mathstrut 100}{30}$\\
    \hline
    $\dfrac{\mathstrut 100}{\mathstrut 30}$\\
    \hline     
\end{tabular}

\end{document}

相关内容