0

This is a followup to a previous question. I fixed what was suggested there, but this code still does not compile.

I looked at all questions and answers on bold math, but could not find an answer to my question.

I have this code, in which the Oplus symbol in the second column comes out bold, as it should. The top matrix in the 3rd column also comes out bold, but not as bold as the Oplus. And I could not make the bottom matrix in the 3rd column bold.

My question is how do I make both matrices in the 3rd column as bold as the Oplus symbol? Unfortunately, the current code also does not compile. It does compile in my big latex file, but that latex file has so many preambles that I don't know which ones are needed.

I am not a big latex expert, so I hope someone can help with this. Thank you.

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

enter image description here

5
  • 1
    Running texfindpkg query -c \Oplus in terminal shows that there is no package with command \Oplus. How do you define it?
    – Stephen
    Commented Apr 30 at 14:03
  • Additionally, from where do you have that \begin{pmatrix} [c|cc] is valid syntax?
    – daleif
    Commented Apr 30 at 14:08
  • 1
    There isn't really any difference. Try making one of the \times in the lower matrix into a 0 and you'll see that it is as bold as it gets. \times just does not get particularly bold in this font (and probably in any font)
    – daleif
    Commented Apr 30 at 14:15
  • Sorry, \Oplus was defined with this: \newcommand{\Oplus}{\ensuremath{\vcenter{\hbox{\scalebox{6.2}{$\oplus$}}}}} This syntax \begin{pmatrix} [c|cc] just works, not sure where I got this from. Thank you
    – district9
    Commented Apr 30 at 14:42
  • As far as I know \times can be made bold, eg. in the book Numerical Linear Algebra by Trefethen and Bau.
    – district9
    Commented Apr 30 at 14:44

1 Answer 1

2

You can vastly simplify the input.

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

Note that pmatrix doesn't take an optional argument and you want array if you want partitioned matrices.

I changed \Oplus to take an argument specifying a vertical size through a matrix.

enter image description here

Some comments on your code. You might avoid the minipages for the arrows. But, more importantly, you don't need \leqnomode and \nonumber: the former is immaterial if you don't want equation numbers, the latter is useless if you use equation* instead of equation.

Anyway, you see that it's easier to have a single display. It consists of three columns, realized as arrays (containing matrices or the symbols supposed to be next to them). These arrays have no intercolumn space because of @{}; one column is center-aligned (for the matrices) and the second one is left-aligned (for the symbols). You may want also the second column to be center-aligned (experiment a bit).

The argument to \Oplus is some material that helps in getting the desired size. The material is put into a matrix just for the purpose of measuring it. In this case I use 0\\0\\0, so the size of the big symbol will match the matrices on the same row.

3
  • thank you. I am just trying to understand, what does the \begin{array}{@{}c@{}l@{}} do ?
    – district9
    Commented Apr 30 at 18:42
  • @district9 I build an array with two columns, one center aligned and one left aligned; no intercolumn space (because of @{}). They accommodate the three columns of the picture, which happily have the same height.
    – egreg
    Commented Apr 30 at 21:14
  • @district9 I also added some comments.
    – egreg
    Commented Apr 30 at 21:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .