我试图将两个具有相同标题的矩阵放在一起,但是在子图环境中使用 \bmatrix 时遇到了问题。
以下是我正在尝试执行的代码:
\begin{figure}[h!]
\centering
\begin{subfigure}[b]
$\begin{bmatrix}
w_{1,1} & w_{1,2} & \cdots & w_{1,m-1} & w_{1,m}\\
w_{2,1} & w_{2,2} & \cdots & w_{2,m-1} & w_{2,m}\\
\vdots & \vdots & \ddots & \vdots & \vdots\\
w_{n-1,1} & w_{n-1,2} & \cdots & w_{n-1,m-1} & w_{n-1,m}\\
w_{n,1} & w_{n,2} & \cdots & w_{n,m-1} & w_{n,m}\\
\end{bmatrix}$
\label{fig:weight-mat}
\end{subfigure}
\begin{subfigure}[b]
$\begin{bmatrix}
b_{1}\\
b_{2}\\
\vdots\\
b_{n-1}\\
b_{n}\\
\end{bmatrix}$
\label{fig:bias-vec}
\end{subfigure}
\caption[Example Connection Weight Matrix with Bias Vector]{Example
connection weight matrix with bias vector - the network
represented has $m$ input units and $n$ output units.}
\end{figure}
我尝试编译时出现的错误是:
[15] [16]
! Missing number, treated as zero.
<to be read again>
$
l.17 $
\begin{bmatrix}
我认为这可能是子图环境的问题,因为当我将它们放在单独的图中时,它们可以很好地编译,只是一个在另一个之上。
我并不急于使用 subfigure 环境。如果有更好的方法,我愿意听取建议 - 这似乎是做我想做的事情的最佳方式。
答案1
您需要在每个环境的强制参数中指定一个宽度subfigure
;例如
\begin{subfigure}[b]{.6\textwidth}
...
\end{subfigure}%
\begin{subfigure}[b]{.4\textwidth}
...
\end{subfigure}
(%
第一个之后的那个\end{subfigure}
是必需的)。
但是,我不清楚为什么要使用subfigure
每个矩阵;请注意,示例代码中\label
每个矩阵的 s都是无用的,因为事先没有为子图提供。subfigure
\caption
你可以简单地这样做:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{figure}
\[
\begin{bmatrix}
w_{1,1} & w_{1,2} & \cdots & w_{1,m-1} & w_{1,m}\\
w_{2,1} & w_{2,2} & \cdots & w_{2,m-1} & w_{2,m}\\
\vdots & \vdots & \ddots & \vdots & \vdots\\
w_{n-1,1} & w_{n-1,2} & \cdots & w_{n-1,m-1} & w_{n-1,m}\\
w_{n,1} & w_{n,2} & \cdots & w_{n,m-1} & w_{n,m}\\
\end{bmatrix}
\begin{bmatrix}
b_{1}\\
b_{2}\\
\vdots\\
b_{n-1}\\
b_{n}\\
\end{bmatrix}
\]
\caption[Example Connection Weight Matrix with Bias Vector]{Example
connection weight matrix with bias vector - the network
represented has $m$ input units and $n$ output units.}
\end{figure}
\end{document}
结果:
说明[!h]
符限制性太强;请使用限制性较小的说明符,或者根本不使用说明符。
答案2
我找到了解决问题的方法,并想将其发布在这里,以防其他人遇到与我同样的问题。
我最终放弃了子图环境,只是使用数学环境来格式化它们。
\begin{figure}[h!]
\centering
\[ \left[ \begin{array}{ccccc}
w_{1,1} & w_{1,2} & \cdots & w_{1,m-1} & w_{1,m}\\
w_{2,1} & w_{2,2} & \cdots & w_{2,m-1} & w_{2,m}\\
\vdots & \vdots & \ddots & \vdots & \vdots\\
w_{n-1,1} & w_{n-1,2} & \cdots & w_{n-1,m-1} & w_{n-1,m}\\
w_{n,1} & w_{n,2} & \cdots & w_{n,m-1} & w_{n,m}
\end{array} \right]
\left[ \begin{array}{c}
b_{1}\\
b_{2}\\
\vdots\\
b_{n-1}\\
b_{n}
\end{array} \right] \]
\label{fig:weight-mat}
\caption[Example Connection Weight Matrix with Bias Vector]{Example
connection weight matrix with bias vector - the network
represented has $m$ input units and $n$ output units.}
\end{figure}
如果有人能解决这个问题,我仍然会对如何使用子图环境感兴趣,因为我可能需要在某个时候将标题放在同一个图内的两个矩阵下,所以知道如何做会很有用。