我想让 的中心\fbox{$1+4=5$}
与 水平对齐\uparrow
。但是,下面的代码似乎不起作用(见下图)。顺便问一下,是否可以用 替换*{3}{c@{\quad\quad}}
并*{3}{c@{\enspace}}
仍然让 的中心\fbox{$1+4=5$}
与 水平对齐\uparrow
?如果您能帮助我解决这个问题,我将不胜感激。
\documentclass[a5paper,12pt]{book}
\usepackage{amsmath,amssymb}
\usepackage{array}
\begin{document}
\begin{equation*}
\begin{array}{c@{\quad} *{3}{c@{\quad\quad}}}
& & 3 & 6 \\
\times & & & 7 \\ \hline
& 2 & 5 & 2 \\
& & \uparrow & \\
& \multicolumn{3}{c}{\fbox{$1+4=5$}}
\end{array}
\end{equation*}
\end{document}
答案1
你忘记了模板有c@{\quad\quad}
\documentclass[a5paper,12pt]{book}
\usepackage{amsmath,amssymb}
\usepackage{array}
\begin{document}
\begin{equation*}
\begin{array}{c@{\quad} *{3}{c@{\quad\quad}}}
& & 3 & 6 \\
\times & & & 7 \\ \hline
& 2 & 5 & 2 \\
& & \uparrow & \\
& \multicolumn{3}{c@{\quad\quad}}{\boxed{1+4=5}}
\end{array}
\end{equation*}
\end{document}
实际上,由于列间距不对称,居中并不完美,您可以通过添加一些负空间来补偿:
\documentclass[a5paper,12pt]{book}
\usepackage{amsmath,amssymb}
\usepackage{array}
\begin{document}
\begin{equation*}
\begin{array}{c@{\quad} *{3}{c@{\quad\quad}}}
& & 3 & 6 \\
\times & & & 7 \\ \hline
& 2 & 5 & 2 \\
& & \uparrow & \\
& \multicolumn{3}{c@{\quad\quad}}{\hspace{-0.5em}\boxed{1+4=5}}
\end{array}
\end{equation*}
\end{document}
但是,最简单的方法是用零宽度框将其居中:
\documentclass[a5paper,12pt]{book}
\usepackage{amsmath,amssymb}
\usepackage{array}
\begin{document}
\begin{equation*}
\begin{array}{c@{\quad} *{3}{c@{\quad\quad}}}
& & 3 & 6 \\
\times & & & 7 \\ \hline
& 2 & 5 & 2 \\
& & \uparrow & \\
& & \makebox[0pt]{$\boxed{1+4=5}$}
\end{array}
\end{equation*}
\end{document}
答案2
w{c}{2em}
最后三列的使用:
\documentclass[a5paper,12pt]{book}
%\usepackage{amsmath,amssymb}
\usepackage{array}
\begin{document}
\[
\begin{array}{c *{3}{w{c}{2em}} }
& & 3 & 6 \\
\times & & & 7 \\ \hline
& 2 & 5 & 2 \\
& & \uparrow & \\
& \multicolumn{3}{@{} c @{}}{\fbox{$1+4=5$}}
\end{array}
\]
\end{document}