答案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
如果您加载。它也可以在带有选项的siunitx
amsmath 环境中工作。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}