我想知道如何精确配置表格中方程的垂直对齐,例如,\arraystretch
可以增加高度但不能使方程垂直居中,它们的基线太低。此外,内联方程和显示样式方程都可以很好地对齐。
\documentclass{article}
\usepackage{amsmath}
\def\arraystretch{2.5}
\begin{document}
\begin{center}
\begin{tabular}{|c|c|}
\hline
$a + b = c$ & inline style \\
\hline
$e + \dfrac{\mathrm{d}f}{\mathrm{d}x} + \dfrac{\mathrm{d}f}{\mathrm{d}y} + \dfrac{\mathrm{d}f}{\mathrm{d}z} = 0$ & display style \\
\hline
\end{tabular}
\end{center}
\end{document}
答案1
和tabularray
:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\begin{document}
\begin{center}
\begin{tblr}{hlines, vlines,
colspec = {Q[c, mode=math] l},
rowsep = {5pt}
}
a + b = c & inline style \\
e + \dfrac{\mathrm{d}f}{\mathrm{d}x} +
\dfrac{\mathrm{d}f}{\mathrm{d}y} +
\dfrac{\mathrm{d}f}{\mathrm{d}z} = 0
& display style \\
\end{tblr}
\end{center}
\end{document}
答案2
一个带有包的解决方案cellspace
,它允许在带有以字母为前缀的说明符的列中定义单元格顶部和底部的最小垂直间距S
(或者C
如果您加载siunitx
,或者任何您想要的字母,并带有加载时间选项)。我还加载了该esdiff
包以简化莱布尼茨符号中的导数代码。
\documentclass{article}
\usepackage{amsmath}
\usepackage{esdiff}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{6pt}
\setlength{\cellspacebottomlimit}{6pt}
\begin{document}
\begin{center}
\begin{tabular}{|Sc|Sc|}
\hline
$a + b = c$ & inline style \\
\hline
$e + \diff{f}{x} + \diff{f}{y} + \diff{f}{z} = 0$ & display style \\
\hline
\end{tabular}
\end{center}
\end{document}
答案3
答案是easytable
:
\documentclass{article}
\usepackage{amsmath}
\usepackage[thinlines]{easytable}
\begin{document}
\begin{center}
\begin{TAB}(r,1cm,2cm)[5pt]{|c|c|}{|c|c|}% (rows,min,max)[tabcolsep]{columns}{rows}
$a + b = c$ & inline style \\
$e + \dfrac{\mathrm{d}f}{\mathrm{d}x} + \dfrac{\mathrm{d}f}{\mathrm{d}y} + \dfrac{\mathrm{d}f}{\mathrm{d}z} = 0$ & display style \\
\end{TAB}
\end{center}
\end{document}
来源:https://tex.stackexchange.com/a/159263/120578
输出:
答案4
有了,您就有了解决该问题的{NiceTabular}
关键nicematrix
。cell-space-limits
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\begin{NiceTabular}{|c|c|}[cell-space-limits=6pt]
\hline
$a + b = c$ & inline style \\
\hline
$e + \dfrac{\mathrm{d}f}{\mathrm{d}x} + \dfrac{\mathrm{d}f}{\mathrm{d}y} + \dfrac{\mathrm{d}f}{\mathrm{d}z} = 0$ & display style \\
\hline
\end{NiceTabular}
\end{center}
\end{document}