Allineamento di 3 array: primo a sinistra, secondo in alto a destra e terzo in basso a destra

Aug 19 2020

Sto avendo 3 matrici con dimensioni diverse. Voglio posizionare il primo array a sinistra, il secondo in alto a destra e il terzo in basso a destra. Quindi, finora sono in grado di posizionare solo due array, di seguito è riportato il codice per questo:

\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}

L'output del mio codice è:

Il codice del terzo array è il seguente:

\[
\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}
\]

Uscita desiderata:

Inoltre, voglio una soluzione standard per questo non temporanea. Quindi, funzionerebbe se le dimensioni dell'array cambiassero. Qualcuno mi può aiutare con questo?

Risposte

1 Mico Aug 19 2020 at 22:50

Ti suggerisco di incorporare i tre arrayambienti all'interno di due ambienti nidificati tabular. La colonna "esterna" tabularconsisterà in un arrayambiente nella colonna di sinistra, un righello verticale e una colonna "interna" tabularnella colonna di destra. Il tabulare "interno", a sua volta, conterrà due arrayambienti. Questa configurazione può sembrare un po' complicata all'inizio, ma credo che soddisfi la tua richiesta di "una soluzione standard per questo non temporanea".

Oh, dal momento che utilizzi Palatino come carattere di testo principale, vorrei anche raccomandare di utilizzare un carattere matematico Palatino. Ciò può essere ottenuto eseguendo \usepackage{newpxtext, newpxmath}nel preambolo.

\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}
1 egreg Aug 20 2020 at 00:51

Penso ancora che tabularxsia la strada da percorrere.

\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}