如何使图形标题在宏内发挥作用?

如何使图形标题在宏内发挥作用?

我在写报告时经常需要插入两个相邻的图,图号不同(不是子图 a、b)。为了加快这个过程,我编写了一个宏,但不知何故标题无法正确显示:

\begin{figure}[h!]
  \centering
  \captionsetup{width=0.45\textwidth}
  \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=0.95\textwidth]{%<figure1%>}
    \caption{%<captionfig1%>}\label{fig:%<labelfig1%>}
  \end{minipage}
  \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=0.95\textwidth]{%<figure2%>}
    \caption{%<captionfig2%>}\label{fig:%<labelfig2%>}
  \end{minipage}
\end{figure}

当我删除标题时,东西确实编译了。

答案1

好的,我想我终于找到问题了。确实,占位符(即 %% 表示的块)必须填写,并且需要插入有效的图片。

当我改变\caption{Caption text}它时\captionof{figure}{Caption text},它确实编译并显示了正确的标题。

因此,工作代码片段变成:

\begin{figure}[h!]
  \centering
  \captionsetup{width=0.45\textwidth}
  \begin{minipage}{0.49\textwidth}
        \centering
        \includegraphics[width=0.95\textwidth]{vpwater}
        \captionof{figure}{Vapour pressure over water [Pa] vs temperature [K]}\label{fig:vpwater}
  \end{minipage}
  \begin{minipage}{0.49\textwidth}
        \centering
        \includegraphics[width=0.95\textwidth]{errorvpwater}
        \captionof{figure}{Error of vapour pressure over water [log(error)]}\label{fig:errorvpwater}
  \end{minipage}
\end{figure}

以及包含 TexStudio 占位符的工作宏:

\begin{figure}[h!]
\centering
\captionsetup{width=0.45\textwidth}
\begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=0.95\textwidth]{%<figure1%>}
    \captionof{figure}{%<captionfig1%>}\label{fig:%<labelfig1%>}
\end{minipage}
\begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=0.95\textwidth]{%<figure2%>}
    \captionof{figure}{%<captionfig2%>}\label{fig:%<labelfig2%>}
\end{minipage}
\end{figure}

% 符号在代码视图中注释了部分代码,但它是 TexStudio 宏的正确符号。

亲切的问候,

恩斯特·简

相关内容