我有一个简单的数组,一些分数位于 \displaystyle 下。问题是它们与上下 \hline 相冲突,即它们缺少水平空间。我知道可能有一种指定每行高度的廉价解决方案,但我希望行本身能够适应内容,而不是一些粗糙的操作,我该如何实现呢?
\[
\begin{array}{|*6{>{\displaystyle}c|}} \hline
\sup \frac{V^\mathrm{col}}{V^\mathrm{row}} & V^\mathrm{ni} & V^\mathrm{fi} & V^\mathrm{pub} & V^\mathrm{priv} & V^* \\ \hline
V^\mathrm{ni} & 1 & \frac{4}{3} & 1 & 1 & 1\\ \hline
V^\mathrm{fi} & \infty & 1 & 1 & 1 & 1 \\ \hline
V^\mathrm{pub} & \infty & \frac{4}{3} & 1 & 1^* & 1\\ \hline
V^\mathrm{priv} & \infty & \frac{4}{3} & \frac{4}{3} & 1 & 1\\ \hline
V^* & \infty & \frac{4}{3} & \frac{4}{3} & \frac{4}{3} & 1\\ \hline
\end{array}
\]
谢谢
答案1
您有两个主要解决方案:
- 加载
makecell
包并使用其\setcellgapes{some length}\makegapedcells
命令,添加表格中单元格顶部和底部的固定垂直间距(有点类似于extrarowheight
,但也位于底部); - 加载
cellspace
包,它允许您定义 最小在以字母 为前缀的说明符的列中,单元格顶部和底部的填充S
。
\documentclass{article}
\usepackage{array, mathtools}
\usepackage{makecell}
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\begin{document}
\[
\begin{array}{|*{6}{>{$\displaystyle}Sc<{$}|}} \hline
\sup \frac{V^\mathrm{col}}{V^\mathrm{row}} & V^\mathrm{ni} & V^\mathrm{fi} & V^\mathrm{pub} & V^\mathrm{priv} & V^* \\ \hline
V^\mathrm{ni} & 1 & \frac{4}{3} & 1 & 1 & 1\\ \hline
V^\mathrm{fi} & \infty & 1 & 1 & 1 & 1 \\ \hline
V^\mathrm{pub} & \infty & \frac{4}{3} & 1 & 1^* & 1\\ \hline
V^\mathrm{priv} & \infty & \frac{4}{3} & \frac{4}{3} & 1 & 1\\ \hline
V^* & \infty & \frac{4}{3} & \frac{4}{3} & \frac{4}{3} & 1\\ \hline
\end{array}
\]
\bigskip
\[
\setcellgapes{3pt}\makegapedcells
\begin{array}{|*{6}{>{\displaystyle}c|}} \hline
\sup \frac{V^\mathrm{col}}{V^\mathrm{row}} & V^\mathrm{ni} & V^\mathrm{fi} & V^\mathrm{pub} & V^\mathrm{priv} & V^* \\ \hline
V^\mathrm{ni} & 1 & \frac{4}{3} & 1 & 1 & 1\\ \hline
V^\mathrm{fi} & \infty & 1 & 1 & 1 & 1 \\ \hline
V^\mathrm{pub} & \infty & \frac{4}{3} & 1 & 1^* & 1\\ \hline
V^\mathrm{priv} & \infty & \frac{4}{3} & \frac{4}{3} & 1 & 1\\ \hline
V^* & \infty & \frac{4}{3} & \frac{4}{3} & \frac{4}{3} & 1\\ \hline
\end{array}
\]
\end{document}
答案2
无需额外的包,您可以用\setlength\extrarowheight{...}
和来修改您的数组,在每一行的末尾,[...]
用...
代表您喜欢的维度。
\documentclass{article}
\usepackage{amsmath, array}
\begin{document}
\[
\setlength\extrarowheight{10pt}
\begin{array}{|*6{>{\displaystyle}c|}} \hline
\sup \frac{V^\mathrm{col}}{V^\mathrm{row}} & V^\mathrm{ni} & V^\mathrm{fi} & V^\mathrm{pub} & V^\mathrm{priv} & V^* \\[10pt] \hline
V^\mathrm{ni} & 1 & \frac{4}{3} & 1 & 1 & 1\\[10pt] \hline
V^\mathrm{fi} & \infty & 1 & 1 & 1 & 1 \\[10pt] \hline
V^\mathrm{pub} & \infty & \frac{4}{3} & 1 & 1^* & 1\\[10pt] \hline
V^\mathrm{priv} & \infty & \frac{4}{3} & \frac{4}{3} & 1 & 1\\[10pt] \hline
V^* & \infty & \frac{4}{3} & \frac{4}{3} & \frac{4}{3} & 1\\[10pt] \hline
\end{array}
\]
\end{document}