我想“组合”一个图形和一个表格以获得一个图形。
已经提出用于floatrow
此,可以删除subcaptions
稍后的(floatrow 包中的 subfloatrow 在没有子标题的情况下无法工作)。
但看起来,环境里面的图形会被计算(全局图形数量),即使它是在subfloatrow
!中。
所附示例显示了tabularx
开头和tabular
结尾的相同源代码。可以看到编号从 2 开始,而不是从 1 开始!
\documentclass{article}
\usepackage{caption,subcaption,tabularx,floatrow}
% Table float box with bottom caption, box width adjusted to content
\newfloatcommand{capbtabbox}{table}[][\FBwidth]
\begin{document}
\setcounter{figure}{0}
\begin{figure}[t!]
\ffigbox{
\begin{subfloatrow}
\ffigbox{%
\rule{3cm}{3cm}%
}{%
\caption{A figure}%
}
\capbtabbox{%
\begin{tabularx}{4cm}{cc} \hline
Author & Title \\ \hline
Knuth & The \TeX book \\
Lamport & \LaTeX \\ \hline
\end{tabularx}
}{%
\caption{A table}%
}
\end{subfloatrow}
}{%
\caption{A figure and a table}%
}
\end{figure}
\end{document}
有人知道如何防止这种情况吗?这是一个错误吗?
答案1
如果我理解正确的话,并且您不想要子标题,那么您只需要两个minipage
不需要额外包的环境。
要在表格和图形中添加子标题而不推断图形计数器,一个选项可以是相同的,但在需要时添加包caption
并使用\caption*
(带星号)。这是一个 MWE:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage{caption}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}[htp]
\centering
\begin{minipage}{3cm}
\includegraphics[width=3cm,height=3cm]{/home/fran/MWE.png}
\end{minipage}\hspace{1cm}
\begin{minipage}{.4\textwidth}
\begin{tabularx}{4cm}{cc} \hline
Author & Title \\ \hline
Knuth & The \TeX book \\
Lamport & \LaTeX \\ \hline
\end{tabularx}
\end{minipage}
\caption{A figure and a table}%
\end{figure}
\blindtext
\begin{figure}[htp]
\centering
\begin{minipage}{3cm}
\includegraphics[width=3cm,height=3cm]{/home/fran/MWE.png}
\caption*{The figure}
\end{minipage}\hspace{1cm}
\begin{minipage}{.4\textwidth}
\caption*{The table}
\begin{tabularx}{4cm}{cc} \hline
Author & Title \\ \hline
Knuth & The \TeX book \\
Lamport & \LaTeX \\ \hline
\end{tabularx}
\end{minipage}
\caption{A figure and a table}%
\end{figure}
\end{document}