我正在尝试在环境中使用该subcaption
包threeparttable
,但无法使其工作。我知道可能存在一些问题但我就是不能放弃 TPTT。
显然我没有收到错误消息,但子标题没有显示。
梅威瑟:
\documentclass[a4paper]{memoir}
\usepackage{geometry,array,graphicx,float,caption}
\usepackage{subcaption}
\usepackage{threeparttable}
\begin{document}
\begin{figure}[ht]
\caption{Samples picture} \label{fig:picture_temp}
\centering
\begin{threeparttable}
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=6cm]{example-image-b}
\caption{Before}
\label{fig:1a}
\end{subfigure}
~
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=6cm]{example-image-c}
\caption{After}
\label{fig:1b}
\end{subfigure}
\begin{tablenotes}
\item Diference in samples over the range of temperatures.
\end{tablenotes}
\end{threeparttable}
\end{figure}
\end{document}
抱歉,我实在无法抗拒这个梗。
答案1
里面threeparttable
的含义\@caption
发生了变化。您希望里面的subfigure
含义与 所确定的一样caption
。
\documentclass[a4paper]{memoir}
\usepackage{geometry,array,graphicx,caption}
\usepackage{subcaption}
\usepackage{threeparttable}
\usepackage{etoolbox}
\makeatletter
\AtBeginEnvironment{subfigure}{\let\@caption\caption@original@caption}
\AtBeginDocument{\let\caption@original@caption\@caption}
\makeatother
\begin{document}
\begin{figure}[ht]
\caption{Samples picture} \label{fig:picture_temp}
\centering
\begin{threeparttable}
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=6cm]{example-image-b}
\caption{Before}
\label{fig:1a}
\end{subfigure}
~
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=6cm]{example-image-c}
\caption{After}
\label{fig:1b}
\end{subfigure}
\begin{tablenotes}
\item Difference in samples over the range of temperatures.
\end{tablenotes}
\end{threeparttable}
\end{figure}
\end{document}
原始含义(经 进一步修改memoir
)必须保存在文档开头。使用\AtBeginDocument
I 恢复该含义,但仅限于 内部subfigure
。表格可能需要相同的操作。
答案2
我subcaption
用该subfig
包替换了它并使用了该命令,现在它在(子)标题中\subfloat
运行得非常好。\tnotes
可以找到另一种不使用 threeparttable 的选项这里使用简单的\footnotesize
内部图形环境。
\documentclass[a4paper]{memoir}
\usepackage{geometry,array,graphicx,float,caption}
\usepackage{subfig}
\usepackage{threeparttable}
\begin{document}
\captionsetup[subfloat]{position=bottom}
\begin{figure}[ht]
\caption{Samples picture} \label{fig:picture_temp}
\centering
\begin{threeparttable}
\subfloat[Before]{
\includegraphics[width=6cm]{example-image-b}
\label{fig:1a}
}
~
\subfloat[After \tnote{a}]{
\includegraphics[width=6cm]{example-image-c}
\label{fig:1b}
}
\begin{tablenotes}
\item Diference in samples over the range of temperatures.
\item[a] Calculated.
\end{tablenotes}
\end{threeparttable}
\end{figure}
\end{document}