带有图形的浮动文本框,使用包“caption”时图形标题位于框之外

带有图形的浮动文本框,使用包“caption”时图形标题位于框之外

嘿,

我正在尝试向文档添加一个文本框。文本框应包含文本和一个或多个图形,并且本身应是浮动的。只要我不包含 caption 包,它就可以工作。但是,一旦我使用 caption 包,图形的标题就会移到框外。有什么想法吗?包 caption 中有错误吗?我遗漏了什么?或者有定义带有图形的浮动文本框的良好替代方案吗?

谢谢,西奥

梅威瑟:

\documentclass{article}
\usepackage{lipsum,float}
\usepackage[framemethod=TikZ]{mdframed}

\mdtheorem{boxtest}{Box}[section]
\newfloat{floatbox}{tb}{abox}[section]
\usepackage{caption}


\begin{document}

\section{First}
Figure \ref{fig:test} is in Box \ref{box:test}.

\begin{floatbox}[b!]
    \begin{boxtest}[Testbox]
        \label{box:test}    

        \begin{figure}[H]
            \centering
            \includegraphics[width=5cm]{example-image-a}
            \caption{Highly precise description of the example image: it is an A.}
            \label{fig:test}
        \end{figure}

        \lipsum[1]
    \end{boxtest}
\end{floatbox}
\lipsum[2]

\end{document}

答案1

平均能量损失

\documentclass{article}
\usepackage{lipsum,float}
\usepackage[framemethod=TikZ]{mdframed}

\mdtheorem{boxtest}{Box}[section]
\newfloat{floatbox}{tb}{abox}[section]
\restylefloat*{floatbox}% <-----------------
\usepackage{caption}

\begin{document}

    \section{First}
    Figure \ref{fig:test} is in Box \ref{box:test}.

    \begin{floatbox}[b!]
        \begin{boxtest}[Testbox]
            \label{box:test}    

            \begin{figure}[H]
                \centering
                \includegraphics[width=5cm]{example-image-a}
                \caption{Highly precise description of the example image: it is an A.\label{fig:test}}
            \end{figure}

            \lipsum[1]
        \end{boxtest}
    \end{floatbox}
    \lipsum[2]

\end{document}

您需要使用\restylefloat*{floatbox}它来防止它接管\caption图形环境中的命令,也就是说,\caption图中仍然保留图形标题而不是成为浮动框标题。


示例输出

在此处输入图片描述

相关内容