拉伸单元格中的数学

拉伸单元格中的数学

这是我的表的一个最小工作示例:

\documentclass[10pt,a4paper]{article}
\usepackage{color}
\usepackage{amsmath}
\usepackage{colortbl}
\usepackage{array}

\definecolor{myblue}{rgb}{0.866,0.894,0.996}

\newcolumntype{B}[1]{>{\centering\arraybackslash\columncolor{myblue}}p{#1}}

\renewcommand{\arraystretch}{2}

\begin{document}

\begin{table}[!htb]
\begin{tabular}{ B{0.2\textwidth} | B{0.2\textwidth} }
title column 1 & title column 2 \\ \hline
content & content with binomial coefficient $\begin{pmatrix} n \\ k \end{pmatrix}$ \\
\end{tabular}
\end{table}

\end{document}

我曾经\arraystretch增加过表格行高。问题是,当我使用 在单元格中写入二项式系数时\begin{pmatrix}...\end{pmatrix},括号太大。该命令\arraystretch似乎会影响环境pmatrix。我怎样才能保持行高并得到一个好看的二项式系数?

此外,\arraystretch修改文本之间和文本后的空格全部单元格。对于给定的一行,我如何本地修改这个空间?

答案1

在此处输入图片描述

\documentclass[10pt,a4paper]{article}
\usepackage{color}
\usepackage{amsmath}
\usepackage{colortbl}
\usepackage{array}
\definecolor{myblue}{rgb}{0.866,0.894,0.996}
\newcolumntype{B}[1]{>{\centering\arraybackslash\columncolor{myblue}}p{#1}}
\setlength{\extrarowheight}{50pt}

\begin{document}
\begin{table}[!htb]
\begin{tabular}{ B{0.2\textwidth} | B{0.2\textwidth} }
title column 1 & title column 2 \\[50pt] \hline
content & content with binomial coefficient  {\setlength{\extrarowheight}{0pt} $\begin{pmatrix} n \\ k \end{pmatrix}$} \\ [50pt]
\end{tabular}
\end{table}
\end{document}

由于您需要使上方的距离\hline等于下方的距离,因此您应该添加\setlength{\extrarowheight}{50pt}以控制上方的距离,并添加\\ [50pt]相同的值50pt以控制下方的距离。

要取消数学数组中的效果,只需发出命令来\setlength{\extrarowheight}{0pt}中和之前的设置。或者,您可以采纳@Zacro 的建议并使用\binom{n}{k}而不是\begin{pmatrix} n\\k \end{pmatrix}。后者不受 的影响\extrarowheight

答案2

您可以规范化表格单元格内的因子:

\newcolumntype{B}[1]{>{%
\renewcommand{\arraystretch}{1}%
\centering\arraybackslash\columncolor{myblue}}p{#1}}

因此值 2 仅在外层使用。

此外, \arraystretch 会修改所有单元格中文本之间和文本之后的空格。对于某一行,我如何本地修改此空格?

如果您只想更改一行,不要更改\arraystretch任何地方,将其保留为 1,并且只需\\[5cm]在空间行后留出额外的空间即可。

相关内容