不同类型的浮点数并排显示

不同类型的浮点数并排显示

我熟悉在浮动元素中使用 minipages 来有效地并排放置两个浮动元素,但是有没有办法对不同类型的浮动元素执行此操作?例如,一个 Figure 和一个 Scheme (chemscheme)?

答案1

\documentclass{article}  
\usepackage[demo]{graphicx}% delete demo later
\usepackage{chemscheme}
\usepackage{caption}
\begin{document}

\begin{scheme}
 \begin{floatrow}
  \ffigbox[\FBwidth]
    {\includegraphics[width=0.45\textwidth]{normalimage}}
    {\caption{My figure}\label{foo}}
  \ffigbox[\FBwidth]
    {\includegraphics[width=0.45\textwidth]{chemfig}}%
    {\captionof{scheme}{My chem scheme}\label{bar}}
 \end{floatrow}
\end{scheme}

\end{document}

在此处输入图片描述

答案2

只需使用一个包含两个 s 的 float 环境。然后对一个 floatminipage使用 normal ,对另一个 float 使用 normal。这需要或包。\caption\captionof{<other type>}{<caption text>}captioncapt-of


schemefrom 的问题chemscheme在于它不是普通的浮点数,而是(默认情况下)使用floatrow不支持上述代码的函数定义的(我得到了“标题丢失”错误)。float包上的替代定义也不起作用,因为它总是将标题放在自己的位置,而不是实际内容的一部分,因此它脱离了minipage

我现在发现了以下解决方案,它可以从包中撤消一些内容并以相同的方式floatrow定义:schemefigure

\documentclass{article}

\usepackage[demo]{graphicx}% 'demo' option only to not require actually images for this example file
\usepackage{capt-of}% or 'caption'
\usepackage{chemscheme}

\begin{document}
\makeatletter
\def\scheme{\@float{scheme}}
\let\endscheme\endfigure
\makeatother

\begin{scheme}
    \begin{minipage}{.48\textwidth}
        \includegraphics[width=\textwidth]{normalimage}
        \captionof{figure}{My figure}
    \end{minipage}%
    \hfill
    \begin{minipage}{.48\textwidth}
        \includegraphics[width=\textwidth]{chemfig}
        \caption{My chem scheme}
    \end{minipage}%
\end{scheme}

\end{document}

但是,放入环境\captionof{scheme}figure仍然不起作用(再次出现“标题丢失”错误)。

您建议等到比floatrow我更了解的人发布答案。

相关内容