![拉伸单元格中的数学](https://linux22.com/image/319452/%E6%8B%89%E4%BC%B8%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%A6.png)
这是我的表的一个最小工作示例:
\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]
在空间行后留出额外的空间即可。