分数不适合长表单元格

分数不适合长表单元格

我想要一些长表单元格中的分数。我使用以下代码:

\documentclass{article}
\usepackage{longtable,amsmath}

\begin{document}
\begin{longtable}{|c|c|}
\hline 
\textbf{Function} & \textbf{Derivative}\\
\hline
$\dfrac{1}{x}$ & $-\dfrac{1}{x^2}$\\
\hline 
\end{longtable} 
\end{document}

很遗憾:

  • 分子的上部和
  • 分母的下部

相交hline,如下所示:

在此处输入图片描述

我能做些什么?

提前致谢!

答案1

最简单的解决方案是放置一些更大的不可见的东西,但这很难以一致的方式实现(\rule[-2ex]{0pt}{5.5ex}例如)。下面定义了一个宏(\addpad),它在其参数的高度和深度上添加 0.5ex 的垂直填充(它有一个可选参数,您可以使用它来更改填充量)。

我还使用了包\extrarowheight中的array功能,以便水平规则几乎不会接触正常高度单元格中的大写字母。

以下用途grabbox使其适用于任意参数(包括逐字材料),但grabbox对于该方法的工作来说不是必需的(见下文)。

\documentclass{article}
\usepackage{longtable,amsmath}
\usepackage{array}
\usepackage{grabbox}
\setlength\extrarowheight{1pt}

\makeatletter
\newsavebox\addpad@Box
\newcommand\addpad[1][.5ex]
  {%
    \leavevmode
    \@grabbox{}\addpad@Box{}\hbox{}
      {%
        \vrule
          height \dimexpr\ht\addpad@Box+#1
          depth 0pt
          width 0pt
        \unhcopy\addpad@Box
        \vrule
          height 0pt
          depth \dimexpr\dp\addpad@Box+#1
          width 0pt
      }%
  }
\makeatother

\begin{document}
\begin{longtable}{|c|c|}
\hline 
\textbf{Function} & \textbf{Derivative}\\
\hline
  \addpad{$\dfrac{1}{x}$} & $-\dfrac{1}{x^2}$\\
\hline 
\end{longtable} 
\end{document}

在此处输入图片描述

不带版本grabbox

\documentclass{article}
\usepackage{longtable,amsmath}
\usepackage{array}
\setlength\extrarowheight{1pt}

\newsavebox\addpadBox
\newcommand\addpad[2][.5ex]
  {%
    \sbox\addpadBox{#2}%
    \ht\addpadBox\dimexpr\ht\addpadBox+#1
    \dp\addpadBox\dimexpr\dp\addpadBox+#1
    \usebox\addpadBox
  }

\begin{document}
\begin{longtable}{|c|c|}
\hline 
\textbf{Function} & \textbf{Derivative}\\
\hline
  \addpad{$\dfrac{1}{x}$} & $-\dfrac{1}{x^2}$\\
\hline 
\end{longtable} 
\end{document}

答案2

您有一个 cellspace包,它定义了最小在带有前缀 e 字母的说明符的列中单元格顶部和底部的垂直间距S(或者C如果您加载。它也可以在带有选项的siunitxamsmath 环境中工作。matrix[math]

\documentclass{article}
\usepackage{longtable,amsmath}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{4pt}

\begin{document}

\begin{longtable}{|Sc|Sc|}
\hline
\textbf{Function} & \textbf{Derivative}\\
\hline
$\dfrac{1}{x}$ & $-\dfrac{1}{x^2}$\\
\hline
\end{longtable}

\end{document} 

在此处输入图片描述

答案3

使用该makecell包的另一个(简单)解决方案:

\documentclass{article}
\usepackage{amsmath}
\usepackage{makecell, longtable}
\setcellgapes{5pt}

\begin{document}
{ \makegapedcells
\begin{longtable}{|c|c|}
\hline
\textbf{Function} & \textbf{Derivative}\\
\hline
$\dfrac{1}{x}$ & $-\dfrac{1}{x^2}$\\
\hline
\end{longtable}
}
\end{document}

在此处输入图片描述

答案4

另一种可能性是使用\arraystretch{...},其中所有单元格具有相同的垂直长度。

在此处输入图片描述

\documentclass{article}
\usepackage{longtable,amsmath}

\begin{document}
\renewcommand\arraystretch{3}
\begin{longtable}{|c|c|}
\hline 
\textbf{Function} & \textbf{Derivative}\\
\hline

$\dfrac{1}{x}$ & $-\dfrac{1}{x^2}$\\
\hline 
\end{longtable}
\end{document}

相关内容