Выравнивание 3 массивов: первый слева, второй справа вверху и третий справа внизу
У меня 3 массива с разными размерами. Я хочу разместить первый массив слева, второй - вверху справа, а третий - внизу справа. Итак, пока я могу разместить только два массива, ниже приведен код для этого:
\documentclass[12 pt, a4paper]{book}
\usepackage{multicol}
\usepackage{geometry}
\geometry{
a4paper,
total={170 mm,257 mm},
left=20 mm,
top=20 mm,
}
\usepackage{amsmath,bm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{soul}
\usepackage{indentfirst}
\usepackage[utf8]{inputenc}
\usepackage{palatino}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{enumitem}
\usepackage{mathtools}
\usepackage{cancel}
\usepackage{arydshln}
\usepackage{calc}
\setlength{\parindent}{2em}
\newcommand{\wt}[2]{\underset{\substack{\textstyle\uparrow\\\hidewidth\mathstrut#2\hidewidth}}{#1}}
\definecolor{mygray}{gray}{0.6}
\begin{document}
\textbf{Solution :}
\[
\left.
\hspace{1 cm}
\arraycolsep=0.2em
\begin{array}{rrllllll}
& & & & 1 & 2 & 5 & 5 \\
\cline{3-8}
5 & 2 & ) & 6 & 5 & 2 & 9 & 6 \\
& & - & 5 & 2 & & & \\
\cline{4-6}
& & & 1 & 3 & 2 & & \\
& & - & 1 & 0 & 4 & & \\
\cline{4-7}
& & & 0 & 2 & 8 & 9 & \\
& & & - & 2 & 6 & 0 & \\
\cline{5-8}
& & & & 0 & 2 & 9 & 6 \\
& & & & - & 2 & 6 & 0 \\
\cline{6-8}
& & & & & 0 & 3 & 6 \\
\end{array}
\right. \hspace{0.25 cm}\vline \hspace{0.1 cm}
\arraycolsep=0.2em
\begin{array}[b]{ccccc@{\hskip 0.5in}ccccc@{\hskip 0.5in}ccccc}
52 & \times & 1 & = & 52 & 52 & \times & 5 & = & 260 \\
52 & \times & 2 & = & 104 & 52 & \times & 6 & = & 312 & 52 & \times & 9 & = & 468 \\
52 & \times & 3 & = & 156 & 52 & \times & 7 & = & 364 & 52 & \times & 10 & = & 520 \\
52 & \times & 4 & = & 208 & 52 & \times & 8 & = & 416 \\\\
\hdashline \\
\end{array}
\]
\end{document}
Результат моего кода:

Код третьего массива следующий:
\[
\begin{array}{ccccccccc}
& & \textbf{Difference} & \textbf{Value} & & \textbf{Base} & & \textbf{Borrow} & \textbf{Prev. Bit} \\
11 - 15 & = & -4 < 0 & 11 & + & 16 & = & 27 & \mathrm{A} \rightarrow \underline{9} \\
\underline{9} - 14 & = & -5 < 0 & 9 & + & 16 & = & 25 & \mathrm{F} \rightarrow \underline{\mathrm{E}}
\end{array}
\]
Желаемый результат:

Кроме того, мне нужно стандартное решение, а не временное. Итак, это сработает, если размеры массива изменятся. Кто-нибудь может мне с этим помочь?
Ответы
Я предлагаю вам встроить три array
среды в две вложенные tabular
среды. «Внешний», двухколоночный, tabular
будет состоять из array
окружения в левом столбце, вертикальной линейки и «внутреннего» одностолбца tabular
в правом столбце. «Внутренняя» таблица, в свою очередь, будет содержать две array
среды. Поначалу эта установка может показаться немного сложной, но я считаю, что она удовлетворяет ваши требования к «стандартному решению для этого, а не временному».
О, поскольку вы используете Palatino в качестве основного шрифта текста, я также хотел бы порекомендовать вам использовать математический шрифт Palatino. Этого можно достичь, запустив \usepackage{newpxtext, newpxmath}
преамбулу.

\documentclass[12pt, a4paper]{book}
%% (I've pared the preamble down to the bare minimum needed
%% to get your code to compile.)
\usepackage{geometry}
\geometry{total={170mm,257mm}, left=20mm, top=20mm}
\usepackage{amsmath,bm,amssymb}
\usepackage[utf8]{inputenc}
\usepackage{newpxtext,newpxmath}
\usepackage{arydshln}
\begin{document}
\noindent
\textbf{Solution :}
\begin{center}
\setlength\tabcolsep{1cm}
\setlength\arraycolsep{0.2em}
\begin{tabular}{@{} c | c @{}} % "outer" tabular
$\begin{array}{@{} rrllllll @{}} & & & & 1 & 2 & 5 & 5 \\ \cline{3-8} 5 & 2 & ) & 6 & 5 & 2 & 9 & 6 \\ & & - & 5 & 2 & & & \\ \cline{4-6} & & & 1 & 3 & 2 & & \\ & & - & 1 & 0 & 4 & & \\ \cline{4-7} & & & 0 & 2 & 8 & 9 & \\ & & & - & 2 & 6 & 0 & \\ \cline{5-8} & & & & 0 & 2 & 9 & 6 \\ & & & & - & 2 & 6 & 0 \\ \cline{6-8} & & & & & 0 & 3 & 6 \\ \end{array}$ &
\begin{tabular}{@{} c @{}} % "inner" tabular
$\begin{array}{@{} *{2}{ccccc@{\hskip 0.5in}} ccccc @{}} 52 & \times & 1 & = & 52 & 52 & \times & 5 & = & 260 \\ 52 & \times & 2 & = & 104 & 52 & \times & 6 & = & 312 & 52 & \times & 9 & = & 468 \\ 52 & \times & 3 & = & 156 & 52 & \times & 7 & = & 364 & 52 & \times & 10 & = & 520 \\ 52 & \times & 4 & = & 208 & 52 & \times & 8 & = & 416 \end{array}$\\\\
\hdashline \\
$\begin{array}{@{} *{9}{c} @{}} & & \text{Diff.} & \text{Value} & & \text{Base} & & \text{Borrow} & \text{Prev.\ Bit} \\ 11 - 15 & = & -4 < 0 & 11 & + & 16 & = & 27 & \mathrm{A} \rightarrow \underline{9} \\ \underline{9} - 14 & = & -5 < 0 & 9 & + & 16 & = & 25 & \mathrm{F} \rightarrow \underline{\mathrm{E}} \end{array}$
\end{tabular} % end of inner tabular
\end{tabular} % end of outer tabular
\end{center}
\end{document}
Я все еще думаю, что tabularx
это правильный путь.
\documentclass[12 pt, a4paper]{book}
\usepackage{multicol}
\usepackage{geometry}
\geometry{
a4paper,
total={170 mm,257 mm},
left=20 mm,
top=20 mm,
}
\usepackage{amsmath,bm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{soul}
\usepackage{indentfirst}
\usepackage[utf8]{inputenc}
\usepackage{palatino}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{enumitem}
\usepackage{mathtools}
\usepackage{cancel}
\usepackage{arydshln}
\usepackage{calc}
\usepackage{tabularx}
\setlength{\parindent}{2em}
\newcommand{\wt}[2]{\underset{\substack{\textstyle\uparrow\\\hidewidth\mathstrut#2\hidewidth}}{#1}}
\definecolor{mygray}{gray}{0.6}
\begin{document}
\textbf{Solution:}
\[
\setlength{\arraycolsep}{0.2em}
\begin{tabularx}{\displaywidth}{ @{\hspace{1cm}} c | X @{} }
$\begin{array}{rrllllll} & & & & 1 & 2 & 5 & 5 \\ \cline{3-8} 5 & 2 & ) & 6 & 5 & 2 & 9 & 6 \\ & & - & 5 & 2 & & & \\ \cline{4-6} & & & 1 & 3 & 2 & & \\ & & - & 1 & 0 & 4 & & \\ \cline{4-7} & & & 0 & 2 & 8 & 9 & \\ & & & - & 2 & 6 & 0 & \\ \cline{5-8} & & & & 0 & 2 & 9 & 6 \\ & & & & - & 2 & 6 & 0 \\ \cline{6-8} & & & & & 0 & 3 & 6 \\ \end{array}$
&
\begin{tabular}{@{}w{c}{\linewidth}@{}}
$\begin{array}[b]{ccccc@{\hskip 0.5in}ccccc@{\hskip 0.5in}ccccc} 52 & \times & 1 & = & 52 & 52 & \times & 5 & = & 260 \\ 52 & \times & 2 & = & 104 & 52 & \times & 6 & = & 312 & 52 & \times & 9 & = & 468 \\ 52 & \times & 3 & = & 156 & 52 & \times & 7 & = & 364 & 52 & \times & 10 & = & 520 \\ 52 & \times & 4 & = & 208 & 52 & \times & 8 & = & 416 \end{array}$
\\ \\
\hdashline
\\
$\begin{array}{ccccccccc} & & \textbf{Difference} & \textbf{Value} & & \textbf{Base} & & \textbf{Borrow} & \textbf{Prev. Bit} \\ 11 - 15 & = & -4 < 0 & 11 & + & 16 & = & 27 & \mathrm{A} \rightarrow \underline{9} \\ \underline{9} - 14 & = & -5 < 0 & 9 & + & 16 & = & 25 & \mathrm{F} \rightarrow \underline{\mathrm{E}} \end{array}$
\end{tabular}
\end{tabularx}
\]
\end{document}
