我想创建一个单元格中包含文本和数学符号的表格。问题是我希望每个单元格中的上下文都垂直居中对齐。
下面你可以看到我到目前为止所做的
\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage[table]{xcolor}
\begin{document}
\newcolumntype{K}{>{\centering}m{4.5cm}}
\newcolumntype{L}{>{\centering}m{3.5cm}}
\newcolumntype{M}{@{}m{0pt}@{}}
\begin{tabular}{|c|K|c|c|L|M|}
\multicolumn{2}{c}{\cellcolor{cyan}\textbf{Column A}} & & \multicolumn{2}{c}{\cellcolor{cyan}\textbf{Column B}}\\[5pt]
a. & $5x^3(x - 1)^3$, $2x(x - 1)^4$ & & 1. & $-10x^4(x - 1)^3$ &\\[20pt]
\hline
b. & $5x(x - 1)^2$, $2x^3(x - 1)$ & & 2. & $10x^2(x - 1)$ &\\[20pt]
\hline
c. & $5x^4(x^2 - 1)$, $2x^2(x - 1)^2$ & & 3. & $10x^2(x - 1)^4$ &\\[20pt]
\hline
d. & $5x^2(x - 1)^2$, $2x^4(1 - x)^3$ & & 4. & $10x^3(x - 1)^2$ &\\[20pt]
\hline
c. & $\dfrac{x^2}{x + 1}$ & & 5. & $10x^4(x - 1)^2(x + 1)$ &\\
\hline
\end{tabular}
\end{document}
如您所见,第一行的文本未垂直对齐。有什么建议吗?
答案1
您可以通过在顶部添加一行来伪造它,形式为
\multicolumn{2}{c|}{\cellcolor{cyan}} & & \multicolumn{2}{c}{\cellcolor{cyan}}\\[-5pt]
这是 MWE。我还更改了前导多列格式,c|
使垂直黑线与青色边框对称。
\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage[table]{xcolor}
\begin{document}
\newcolumntype{K}{>{\centering}m{4.5cm}}
\newcolumntype{L}{>{\centering}m{3.5cm}}
\newcolumntype{M}{@{}m{0pt}@{}}
\begin{tabular}{|c|K|c|c|L|M|}
\multicolumn{2}{c|}{\cellcolor{cyan}} & & \multicolumn{2}{c}{\cellcolor{cyan}}\\[-5pt]
\multicolumn{2}{c|}{\cellcolor{cyan}\textbf{Column A}} & & \multicolumn{2}{c}{\cellcolor{cyan}\textbf{Column B}}\\[5pt]
a. & $5x^3(x - 1)^3$, $2x(x - 1)^4$ & & 1. & $-10x^4(x - 1)^3$ &\\[20pt]
\hline
b. & $5x(x - 1)^2$, $2x^3(x - 1)$ & & 2. & $10x^2(x - 1)$ &\\[20pt]
\hline
c. & $5x^4(x^2 - 1)$, $2x^2(x - 1)^2$ & & 3. & $10x^2(x - 1)^4$ &\\[20pt]
\hline
d. & $5x^2(x - 1)^2$, $2x^4(1 - x)^3$ & & 4. & $10x^3(x - 1)^2$ &\\[20pt]
\hline
c. & $\dfrac{x^2}{x + 1}$ & & 5. & $10x^4(x - 1)^2(x + 1)$ &\\
\hline
\end{tabular}
\end{document}
如果您也希望修复最后一行,请使用stackengine
包并使用\addstackgap[]{}
带有条目$\dfrac{x^2}{x + 1}$
的:
c. & \addstackgap{$\dfrac{x^2}{x + 1}$} & & 5. & $10x^4(x - 1)^2(x + 1)$ &\\
实现
答案2
m
列失去基线对齐,因此我不会将它们用于简短的单行示例。在这里,我简化了表格标记,删除了“额外”的列,并稍微打开了表格。我保留了全宽,\hline
就像您拥有的那样,但我很想让它们不穿过中间,或者根本没有线条。
\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage[table]{xcolor}
\begin{document}
\newcolumntype{K}{>{\centering\arraybackslash}p{4.5cm}}
\newcolumntype{L}{>{\centering\arraybackslash}p{3.5cm}}
{\renewcommand\arraystretch{2.5}%
\begin{tabular}{|c|K|@{\hspace{1cm}}|c|L|}
\hline
\multicolumn{2}{|c|@{\hspace{1cm}}|}{\cellcolor{cyan}\textbf{Column A}} &
\multicolumn{2}{c|}{\cellcolor{cyan}\textbf{Column B}}\\
\hline
a. & $5x^3(x - 1)^3$, $2x(x - 1)^4$ & 1. & $-10x^4(x - 1)^3$ \\
\hline
b. & $5x(x - 1)^2$, $2x^3(x - 1)$ & 2. & $10x^2(x - 1)$ \\
\cline{1-2}\cline{3-4}
c. & $5x^4(x^2 - 1)$, $2x^2(x - 1)^2$ & 3. & $10x^2(x - 1)^4$ \\
\hline
d. & $5x^2(x - 1)^2$, $2x^4(1 - x)^3$ & 4. & $10x^3(x - 1)^2$ \\
\hline
c. & $\dfrac{x^2}{x + 1}$ & 5. & $10x^4(x - 1)^2(x + 1)$ \\
\hline
\end{tabular}}
\end{document}
答案3
使单元格垂直居中的最简单方法是使用cellspace
包:它(全局)定义 columnx 中单元格内容上方和下方的最小垂直间距,并使用以字母为前缀的说明符S
(或者C
如果您加载siunitx
)。
以下代码仅使用c
或Sc
列。此外,我使用了\hhline
s,并在彩色列标题下添加了一行,因为我发现它更整洁:
\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{array, cellspace, hhline}
\setlength\cellspacetoplimit{15pt}
\setlength\cellspacebottomlimit{15pt}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{|*{2}{Sc|}p{2em}*{2}{|Sc}|}
\multicolumn{2}{Sc}{\cellcolor{cyan}\textbf{Column A}} & & \multicolumn{2}{>{\columncolor{cyan}[6.4pt][6pt]}c}{\cellcolor{cyan}\textbf{Column B}}\\
\hhline{--~|--}
a. & $5x^3(x - 1)^3$, $2x(x - 1)^4$ & & 1. & $-10x^4(x - 1)^3$ \\
\hhline{--~|--}
b. & $5x(x - 1)^2$, $2x^3(x - 1)$ & & 2. & $10x^2(x - 1)$ \\
\hhline{--~|--}
c. & $5x^4(x^2 - 1)$, $2x^2(x - 1)^2$ & & 3. & $10x^2(x - 1)^4$ \\
\hhline{--~|--}
d. & $5x^2(x - 1)^2$, $2x^4(1 - x)^3$ & & 4. & $10x^3(x - 1)^2$ \\
\hhline{--~|--}
c. & $\smash{\dfrac{x^2}{x + 1}}$ & & 5. & $10x^4(x - 1)^2(x + 1)$ \\
\hhline{--~|--}
\end{tabular}
\end{document}