自动设置表格行高

自动设置表格行高

创建表格时,Latex 有时不能很好地适应行高,导致内容与边框相交,如下所示:

在此处输入图片描述

请注意,第一行太短,而第二行看起来不错。

这是由以下代码生成的:

\begin{tabular} {   | c | c | }
    \hline
    $\left(\frac{1}{2},\frac{1}{2}\right)$   & $(1,1)$   \\ \hline      
    $(1,1)$      &  $\left(\frac{1}{1+c},\frac{1}{1+c}\right)$    \\  \hline        
\end{tabular}

关于如何在没有明确命令的情况下让 Latex 为行分配足够的空间,有什么想法吗?

也许问题不在于表格,而在于括号,因此解决这个问题(使第一个单元格内容周围的括号更大)也会有所帮助。

答案1

您有三个主要解决方案:

  1. 使用cellspace包,它定义了minimal单元格内容与上方或下方单元格之间的垂直间距(\cellspacetoplimit\cellspacebottomlimit)。您必须在列说明符前加上字母前缀S,或者C如果您使用siunitx
  2. 使用makecell包和命令对\setcellgapes{some length}(在序言中)和\setcellgapes(针对特定表格)
  3. 使用booktabs包及其toprule\(c)midrule\bottomrule命令,在它们周围添加一些垂直(可调整)间距。在这种情况下没有垂直规则。

这是包含您特定代码的演示。请参阅软件包文档中的详细信息:

\documentclass{article}

\usepackage{cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}
\usepackage{makecell}
\setcellgapes{4pt}

\usepackage{booktabs}

\begin{document}
\begin{tabular} { | c | c | }
  \hline
  $\left(\frac{1}{2},\frac{1}{2}\right)$ & $(1,1)$ \\ \hline
  $(1,1)$ & $\left(\frac{1}{1+c},\frac{1}{1+c}\right)$ \\ \hline
\end{tabular}
\qquad
\begin{tabular} { | Sc | Sc | }
  \hline
  $\left(\frac{1}{2},\frac{1}{2}\right)$ & $(1,1)$ \\
  \hline
  $(1,1)$ & $\left(\frac{1}{1+c},\frac{1}{1+c}\right)$ \\
  \hline
\end{tabular}
\qquad
{\makegapedcells\begin{tabular} { | c | c | }
  \hline
  $\left(\frac{1}{2},\frac{1}{2}\right)$ & $(1,1)$ \\ \hline
  $(1,1)$ & $\left(\frac{1}{1+c},\frac{1}{1+c}\right)$ \\ \hline
  \end{tabular}}
\vskip1cm
\begin{tabular} {cc}
  \toprule
  $\left(\frac{1}{2},\frac{1}{2}\right)$ & $(1,1)$ \\
  \midrule
  $(1,1)$ & $\left(\frac{1}{1+c},\frac{1}{1+c}\right)$ \\
  \bottomrule
\end{tabular}

\end{document} 

在此处输入图片描述

答案2

这是一个巧妙的技巧。我比 \arraystretch 更喜欢这个结果。

fbox 表

\documentclass{article}
\begin{document}

\fboxrule=0pt
\begin{tabular} {   | c | c | }
    \hline
    \fbox{$\left(\frac{1}{2},\frac{1}{2}\right)$}   & $(1,1)$   \\ \hline      
    $(1,1)$      &  \fbox{$\left(\frac{1}{1+c},\frac{1}{1+c}\right)$}    \\  \hline        
\end{tabular}
\medskip
\end{document}

相关内容