如何垂直居中数组的所有元素

如何垂直居中数组的所有元素

我想将数组的所有元素垂直居中。我尝试使用 \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无关:如果你加载,则无需加载amssymbamsmath如果你加载,则无需加载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}

在此处输入图片描述

相关内容