![如何使图形标题在宏内发挥作用?](https://linux22.com/image/282417/%E5%A6%82%E4%BD%95%E4%BD%BF%E5%9B%BE%E5%BD%A2%E6%A0%87%E9%A2%98%E5%9C%A8%E5%AE%8F%E5%86%85%E5%8F%91%E6%8C%A5%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我在写报告时经常需要插入两个相邻的图,图号不同(不是子图 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 宏的正确符号。
亲切的问候,
恩斯特·简