Minipage 没有找到宽度参数

Minipage 没有找到宽度参数

以下代码会产生错误:

\begin{figure}[htbp!]
\subfloat{
    \begin{minipage}[c][Structured Mesh]{0.5\textwidth}
        \centering
        \includegraphics[scale=0.4]{ch-SmallStrain/Graphics/Structured}
    \end{minipage}}
\subfloat{
    \begin{minipage}[c][Unstructured Mesh]{0.5\textwidth}
        \centering
        \includegraphics[scale=0.4]{ch-SmallStrain/Graphics/Unstructured}
    \end{minipage}}
\\
\subfloat{
    \begin{minipage}[c][Structured Mesh, zoomed to red box shown above]{0.5\textwidth}
        \centering
        \includegraphics[scale=0.2]{ch-SmallStrain/Graphics/StructuredCloseup}
    \end{minipage}}
\subfloat{
    \begin{minipage}[c][Unstructured Mesh, zoomed to red box shown above]{0.5\textwidth}
        \centering
        \includegraphics[scale=0.2]{ch-SmallStrain/Graphics/UnstructuredCloseup}
    \end{minipage}}
    \caption{Meshes for the Shearing example\label{fig:Meshes-for-the}}
\end{figure}

错误是:

! 缺失数字,视为零。S l.634 \end{minipage}}

在每个 处都会发生这种情况\end{minipage}。在我看来,这似乎是宽度参数{0.5\textwidth}无法被识别,而且如果我删除 中的可选参数,错误就会消失[]。有没有办法在保留可选参数的同时修复此错误?

编辑:

我忘了说我正在使用 subfig 包,第二个可选参数应该是子图的标题。

答案1

我假设您打算将后面括号中的第二个参数\begin{minipage}用作子浮点的标题。如果这是您的目标,则应将参数放在后面,\subfloat而不是后面\begin{minipage}

请注意,minipage环境最多可以接受三个可选参数 - 一个“外部”垂直对齐指示器,可以是、ttop底部;一个高度变量(TeX“长度”实体);和一个“内部”位置指示器 - 和ccenterb两个强制性论点:一个长度变量,用于设置环境的预期宽度和小页面的实际内容,两者都放在花括号中。

另一个观察结果是:除非有充分的理由让子浮点图具有不同的宽度,否则你可能只想给所有四个相同宽度width=\linewidth. 这可以通过执行时设置选项来实现\includegraphics

在此处输入图片描述

\documentclass{article}
\usepackage{subfig}
\usepackage[demo]{graphicx} %leave off the 'demo' option in your real document
\begin{document}
\begin{figure}
\subfloat[Structured Mesh]{%
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\linewidth]{ch-SmallStrain/Graphics/Structured}
  \end{minipage}}
\hspace{\fill} % induce horizontal separation
\subfloat[Unstructured Mesh]{%
  \begin{minipage}[c]{0.48\textwidth}
    \includegraphics[width=\linewidth]{ch-SmallStrain/Graphics/Unstructured}
  \end{minipage}}

\subfloat[Structured Mesh, zoomed to red box shown above]{%
  \begin{minipage}{0.48\textwidth}  
    \includegraphics[width=\linewidth]{ch-SmallStrain/Graphics/StructuredCloseup}
  \end{minipage}}
\hspace{\fill} % induce horizontal separation
\subfloat[Unstructured Mesh, zoomed to red box shown above]{%
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\linewidth]{ch-SmallStrain/Graphics/UnstructuredCloseup}
  \end{minipage}}
\caption{Meshes for the Shearing example\label{fig:Meshes-for-the}}
\end{figure}
\end{document}

答案2

正如前面所建议的,如果您打算使用环境minipage来设置captions子图的,则其本身可以执行此操作,您可以简单地删除图中的subfloat所有。minipages

\documentclass{article}
\usepackage{subfig}
\usepackage[demo]{graphicx} %leave off the 'demo' option in your real document

\begin{document}
    \begin{figure}
    \subfloat[Structured Mesh]{%
        \includegraphics[width=0.48\linewidth]{ch-SmallStrain/Graphics/Structured}
    }
    \hfill % induce horizontal separation
    \subfloat[Unstructured Mesh]{%
        \includegraphics[width=0.48\linewidth]{ch-SmallStrain/Graphics/Unstructured}
    }

    \subfloat[Structured Mesh, zoomed to red box shown above]{%  
        \includegraphics[width=0.48\linewidth]{ch-SmallStrain/Graphics/StructuredCloseup}
    }
    \hfill % induce horizontal separation
    \subfloat[Unstructured Mesh, zoomed to red box shown above]{%
        \includegraphics[width=0.48\linewidth]{ch-SmallStrain/Graphics/UnstructuredCloseup}
    }
    \caption{Meshes for the Shearing example\label{fig:Meshes-for-the}}
    \end{figure}
\end{document}

您可以在命令width中调整每个图形includegraphics

输出

相关内容