我正在尝试创建一个表格,但里面有一些数学分数,对于表格来说太宽了。
最初我使用的是 arraystretch 1.4,垂直空间太紧。所以我想将其拉伸得更宽。
当我使用 2.4 时,问题是它不再垂直对齐。
这个问题可能看起来并不明显,所以当我进一步增加到 4 时,它的垂直对齐就更少了。
有人能帮助我理解并找到正确的解决方案吗?提前谢谢。
PS:顺便说一下,我使用LuaLaTeX作为默认编译器。
\documentclass[twoside,14pt]{extarticle}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\usepackage{amsmath}
\begin{document}
\renewcommand{\arraystretch}{2.4}
\setlength\tabcolsep{1.5\tabcolsep}
\setlength\arrayrulewidth{1.5pt}
\begin{center}
\begin{tabular}{!{\vrule width 1.5pt} L{75mm} !{\vrule width 1.5pt} L{75mm} !{\vrule width 1.5pt}}
\hline
As $\displaystyle f\left(x\right) \rightarrow +\infty$, & $\displaystyle \dfrac{1}{f\left(x\right)} \rightarrow$
\\ \hline
\end{tabular}
\end{center}
\end{document}
答案1
确保cellspace
在带有以字母为前缀的说明符的列中单元格的垂直填充最小S
(或者C
如果您加载siunitx
)。p
出于某种原因,这在列类型中效果更好:
\documentclass[twoside,14pt]{extarticle}
\usepackage{array}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{8pt}
\setlength{\cellspacebottomlimit}{8pt}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}S{p{#1}}}
\usepackage{amsmath}
\begin{document}
\setlength\tabcolsep{1.5\tabcolsep}
\setlength\arrayrulewidth{1.5pt}
\begin{center}
\begin{tabular}{!{\vrule width 1.5pt} L{75mm} !{\vrule width 1.5pt} L{75mm} !{\vrule width 1.5pt}}
\hline
As $\displaystyle f\left(x\right) \rightarrow +\infty$, & then $\displaystyle \dfrac{1}{f\left(x\right)} \rightarrow$
\\ \hline
\end{tabular}
\end{center}
\end{document}
答案2
使用\makegapedcells
来自makecell
包的宏。从您的中删除所有不必要的代码后姆韦代码姆韦是:
\documentclass[twoside,14pt]{extarticle}
\usepackage{array,
makecell} % new
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\usepackage{amsmath}
\begin{document}
\begin{center}
\setlength\tabcolsep{1.5\tabcolsep}
\setlength\arrayrulewidth{1.5pt}
\setcellgapes{5pt}
\makegapedcells
\begin{tabular}{| L{75mm} | L{75mm} |}
\hline
As $f(x) \rightarrow +\infty$, & then $\dfrac{1}{f(x)} \rightarrow$ \\
\hline
\end{tabular}
\end{center}
\end{document}
笔记:此解决方案不适用于m
列类型!