我想将数组的所有元素垂直居中。我尝试使用 \arraystretch 命令来实现这一点,但是没有效果。
代码:
\documentclass[12 pt, a4paper]{book}
\usepackage{multicol}
\usepackage{geometry}
\geometry{
a4paper,
total={170 mm,257 mm},
left=20 mm,
top=20 mm,
}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{soul}
\usepackage{indentfirst}
\usepackage[utf8]{inputenc}
\usepackage{palatino}
\usepackage{color}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{enumitem}
\usepackage{mathtools}
\setlength{\parindent}{2em}
\begin{document}
\indent \textbf{Step 2 :} \hspace{0.2 cm} Find the hexa-decimal equivalent of the integer part.
\[
\hspace{-2 cm}
\begin{array}{c|c|c}
\renewcommand{\arraystretch}{5}
\textbf{Radix} & \textbf{Integer} & \textbf{Remainder}\\
\hline
16 & 620 & \mathrm{C}\\
\hline
16 & 38 & 6\\
\hline
16 & 2 & 2\\
\hline
& 0 & \\
\end{array}
\]
\end{document}
该代码获得的输出如下:
输出:
有人能帮助我使数组元素垂直居中吗?
答案1
使用\setlength\extrarowheight{2pt}
数字垂直居中看起来会更好:
\documentclass[12 pt, a4paper]{book}
\usepackage{array}
\setlength{\parindent}{2em}
\begin{document}
\indent \textbf{Step 2 :} \hspace{0.2 cm} Find the hexa-decimal equivalent of the integer part.
\[\setlength\extrarowheight{2pt} % <---
%\hspace{-2 cm}
\begin{array}{c|c|c}
\renewcommand{\arraystretch}{5}
\textbf{Radix} & \textbf{Integer} & \textbf{Remainder}\\
\hline
16 & 620 & \mathrm{C}\\
\hline
16 & 38 & 6\\
\hline
16 & 2 & 2\\
\hline
& 0 & \\
\end{array}
\]
\end{document}
答案2
不要使用 来arraystretch
垂直居中单元格内容:它会不对称地增加单元格顶部和底部的空间。请改用cellspace
,它使您能够定义列中单元格顶部和底部的最小垂直间距,其中说明符以字母为前缀S
(或者C
如果您加载siunitx
)。
amsfonts
无关:如果你加载,则无需加载amssymb
;amsmath
如果你加载,则无需加载amthtools
。
\documentclass[12 pt, a4paper]{book}
\usepackage{multicol}
\usepackage{geometry}
\geometry{
a4paper,
total={170 mm,257 mm},
left=20 mm,
top=20 mm,
}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{soul}
\usepackage{indentfirst}
\usepackage[utf8]{inputenc}%
%\usepackage{palatino}
\usepackage{newpxtext, newpxmath}
\usepackage{color}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{enumitem}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{6pt}
\setlength{\cellspacebottomlimit}{6pt}
\setlength{\parindent}{2em}
\begin{document}
\[
\hspace{-2 cm}
\begin{array}{c|Sc|c}
\textbf{Radix} & \textbf{Integer} & \textbf{Remainder}\\
\hline
16 & 620 & C\mathrm{C}\\
\hline
16 & 38 & 6\\
\hline
16 & 2 & 2\\
\hline
& 0 & \\
\end{array}
\]
\end{document}