Это продолжение предыдущего вопроса. Я исправил то, что там предлагалось, но этот код все равно не компилируется.
Я просмотрел все вопросы и ответы по теме «Выразительная математика», но не смог найти ответа на свой вопрос.
У меня есть этот код, в котором символ Oplus во втором столбце получается жирным, как и должно быть. Верхняя матрица в 3-м столбце тоже получается жирной, но не такой жирной, как Oplus. И я не смог сделать нижнюю матрицу в 3-м столбце жирной.
Мой вопрос в том, как сделать обе матрицы в 3-м столбце такими же жирными, как символ Oplus? К сожалению, текущий код также не компилируется. Он компилируется в моем большом файле latex, но в этом файле latex так много преамбул, что я не знаю, какие из них нужны.
Я не большой эксперт по латексу, поэтому надеюсь, кто-нибудь сможет помочь с этим. Спасибо.
\documentclass[11pt]{article}
\usepackage{amsthm, amsmath}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\makeatletter
\newcommand{\leqnomode}{\tagsleft@true}
\newcommand{\reqnomode}{\tagsleft@false}
\makeatother
\begin{document}
\begin{figure}
\begin{center}
\begin{minipage}{0.15\linewidth}
\leqnomode
\begin{equation} \nonumber
\begin{split}
\begin{pmatrix} \times & \times & \times \\
\times & \times & \times \\
\times & \times & \times \end{pmatrix} & \times \\
\begin{pmatrix} \times & \times & \times \\
\times & \times & \times \\
\times & \times & \times \end{pmatrix} & \times
\end{split}
\end{equation}
\end{minipage}
\begin{minipage}{0.05 \linewidth}
$ \;\;\; \longrightarrow $
\end{minipage}
\begin{minipage}{0.15\linewidth}
\leqnomode
\begin{equation} \nonumber
\begin{split}
\left( \!\! \Oplus \!\! \right) & 0 \\
\begin{pmatrix} \times & \times & \times \\
\times & \times & \times \\
\times & \times & \times \end{pmatrix} & \times
\end{split}
\end{equation}
\end{minipage}
\begin{minipage}{0.05 \linewidth}
$ \;\;\; \longrightarrow $
\end{minipage}
\begin{minipage}{0.15\linewidth}
\leqnomode
\boldmath \begin{equation} \nonumber
%\hspace{-3cm}
\begin{split}
\!\!\!\!\!\!\! \begin{pmatrix} [c|cc] \Lambda_1 & 0 & 0 \\ \hline
0 & 0 & 0 \\
0 & 0 & 0 \end{pmatrix} & 0 \\
\begin{pmatrix} [c|cc] \times & \times & \times \\ \hline
\times & \times & \times \\
\times & \times & \times \end{pmatrix} & \times
\end{split}
\end{equation}
\end{minipage}
\end{center}
\caption{Bla}
\label{bla}
\end{figure}
\end{document}
решение1
Вы можете значительно упростить ввод данных.
\documentclass[11pt]{article}
\usepackage{amsthm, amsmath,graphicx,mathtools,booktabs}
\newcommand{\Oplus}[1]{%
\vcenter{\hbox{%
\settoheight{\dimen0}{\raisebox{\depth}{$\begin{matrix}#1\end{matrix}$}}%
\resizebox{!}{\dimen0}{\raisebox{\depth}{$\oplus$}}%
}}%
}
\begin{document}
\begin{figure}
\centering
\begin{equation*}
\begin{array}{@{}c@{}l@{}}
\begin{pmatrix}
\times & \times & \times \\
\times & \times & \times \\
\times & \times & \times
\end{pmatrix} & \times
\\ \addlinespace
\begin{pmatrix}
\times & \times & \times \\
\times & \times & \times \\
\times & \times & \times
\end{pmatrix} & \times
\end{array}
\longrightarrow
\begin{array}{@{}c@{}l@{}}
\begin{pmatrix}
\mspace{-6mu}\Oplus{0\\0\\0}\mspace{-6mu}\mspace{0mu}
\end{pmatrix} & 0
\\ \addlinespace
\begin{pmatrix}
\times & \times & \times \\
\times & \times & \times \\
\times & \times & \times
\end{pmatrix} & \times
\end{array}
\longrightarrow
\mbox{\boldmath$
\begin{array}{@{}c@{}l@{}}
\left(\begin{array}{@{}c|cc@{}}
\Lambda_1 & 0 & 0 \\
\hline
0 & 0 & 0 \\
0 & 0 & 0
\end{array}\right) & 0
\\ \addlinespace
\left(\begin{array}{@{}c|cc@{}}
\times & \times & \times \\
\hline
\times & \times & \times \\
\times & \times & \times
\end{array}\right) & \times
\end{array}$}
\end{equation*}
\caption{Bla}
\label{bla}
\end{figure}
\end{document}
Обратите внимание, чтоpmatrix
не делаетвозьмите необязательный аргумент и укажите, array
нужны ли вам разделенные матрицы.
Я изменил способ \Oplus
, чтобы принять аргумент, указывающий вертикальный размер через матрицу.
Некоторые комментарии по вашему коду. Вы можете избегать мини-страниц для стрелок. Но, что более важно, вам не нужны \leqnomode
и \nonumber
: первое несущественно, если вам не нужны номера уравнений, последнее бесполезно, если вы используете equation*
вместо equation
.
В любом случае, вы видите, что проще иметь один дисплей. Он состоит из трех столбцов, реализованных как массивы (содержащие матрицы или символы, которые должны быть рядом с ними). Эти массивы не имеют межстолбцового пространства из-за @{}
; один столбец выровнен по центру (для матриц), а второй — по левому краю (для символов). Вы также можете захотеть, чтобы второй столбец был выровнен по центру (немного поэкспериментируйте).
Аргументом к \Oplus
является некоторый материал, который помогает получить желаемый размер. Материал помещается в matrix
только для целей его измерения. В этом случае я использую 0\\0\\0
, поэтому размер большого символа будет соответствовать матрицам в той же строке.