在表格里面插入公式往往会引起表格间距的异常,比如下面的代码就会出现两行公式重叠的现象,第三行的分子与第二行的分母出现了数字重合的情况,通常这样的时候很多用户会在换行的地方加间距来解决,这种解决比较麻烦的是间距要自己尝试或者调整数字来满足间距的需求。

那么下面的这几个方式比较一劳永逸,使用起来比较方便。

\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}

如下是几个通用的解决方案汇总: 

 解决方案一:如果你是期刊投稿的话,通常使用的是三线格,这样的情况下,我们会使用booktabs 这样,我们可以在每行加入一个命令\addlinespace 。 

解决方案二:使用cellspace 宏包,这一宏包定义了一个单元格的垂直间距,分别是\cellspacetoplimit 和\cellspacebottomlimit 这样的间距设置一样,可以让我们内容上下垂直居中。 

解决方案三:使用makecell宏包,通过该宏包的 \setcellgapes  和\makegapedcells 用以增加文本内容与上下的间距,其效果与cellspace非常类似,对于单个单元格还提供了\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 & $\displaystyle \dfrac{58}{197}$ & $\displaystyle \dfrac{48}{197}$ & $\displaystyle \dfrac{21}{197}$* & $1-\displaystyle \dfrac{58}{197}$ \\\addlinespace%
    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}

\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 & $\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}

\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 & $\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}

选自:http://tex.stackexchange.com/questions/67047/not-enough-space-in-table-for-fractions/67054#67054

点赞(3)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部