以下代码适用于report
该类。但是,相同的代码不适用于该类memoir
。问题在于标题中的换行符。(仅供参考:我有 TeX Live 2014。)
\documentclass[letterpaper, 12pt]{memoir}
\usepackage{pgf,tikz}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}[H]
\begin{subfigure}[b]{0.45\textwidth}
\centering
\resizebox{\linewidth}{!}{
\begin{tikzpicture}
\draw[domain=0.5:5.5, smooth, variable=\x,black, dotted] plot ({\x},{(\x-3)*(\x-3)});
\end{tikzpicture}
}
\caption{$f(x)=a(x-h)^n$, where $a>0$\\
and $n$ is even}
\end{subfigure}
\begin{subfigure}[b]{0.45\textwidth}
\centering
\resizebox{\linewidth}{!}{
\begin{tikzpicture}
\draw[domain=0.5:5.5, smooth, variable=\x,black, dotted] plot ({\x},{-(\x-3)*(\x-3)});
\end{tikzpicture} }
\caption{$f(x)=a(x-h)^n$, where $a<0$\\
and $n$ is even}
\end{subfigure}
\end{figure}
\end{document}
我怎样才能使此代码发挥作用memoir
?
答案1
在 s 内使用换行符\caption
是有争议的。但是,如果您需要使用它们,请考虑这些条目会进入图表/表格列表。而在这些条目中使用换行符可能会看起来很奇怪。
为了使
\caption
条目在写入.lof
/时能够继续存在.lot
,您需要\protect
某些脆弱组件。因此,请使用\protect\\
。由于您不希望在 LoF/LoT 中出现换行符,因此还需要提供一个可选参数来
\caption
标识这些列表中的设置(即使它们未被使用)。
\documentclass{memoir}
\usepackage{graphicx,caption,subcaption}
\begin{document}
\begin{figure}[H]
\begin{subfigure}[b]{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{example-image-a}
\caption[$f(x)=a(x-h)^n$, where $a>0$ and $n$ is even]
{$f(x)=a(x-h)^n$, where $a>0$ \protect\\ and $n$ is even}
\end{subfigure}
\begin{subfigure}[b]{0.45\textwidth}
\centering
\includegraphics[width=\linewidth]{example-image-b}
\caption[$f(x)=a(x-h)^n$, where $a<0$ and $n$ is even]
{$f(x)=a(x-h)^n$, where $a<0$ \protect\\ and $n$ is even}
\end{subfigure}
\end{figure}
\end{document}