浮动文档中包含的子图的交叉引用无法正常工作

浮动文档中包含的子图的交叉引用无法正常工作

我确实必须创建一些包含各种信息、一些文本、图形的浮动框......有时我需要使用整个文档来引用它,有时我需要更具体地引用一个图形或子图。

举个例子:

\documentclass{article}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{newfloat}
\usepackage{tcolorbox}

\newcounter{numdoc}
\renewcommand\thenumdoc{\arabic{numdoc}}
\DeclareFloatingEnvironment[name=Doc.,listname={Liste des documents}]{docuflottant}
%\newsubfloat{docuflottant}

\newenvironment{docu}[1]{
    \refstepcounter{numdoc}
    \begin{docuflottant}
    \begin{tcolorbox}[title={\caption{#1}}]
    }{
    \end{tcolorbox}
    \end{docuflottant}
    }
    
\begin{document}

\begin{figure}
\centering
 Figure 1
 \caption{Figure 1}
\end{figure}

\begin{docu}{An interesting doc}
\lipsum[1]
 
 \begin{minipage}{\columnwidth}
 \begin{center}
  \begin{subfigure}{5cm}
   Figure 2a
   \caption{\label{fig2a}Figure 2a}
  \end{subfigure}
  \begin{subfigure}{5cm}
   Figure 2b
   \caption{\label{fig2b}Figure 2b}
  \end{subfigure}
  \end{center}
 \captionof{figure}{figure 2a et 2b}
 \end{minipage}
 
\end{docu}

I would like a reference to 'Figure 2a' to be figure~2a, and it is figure~\ref{fig2a}\dots



\end{document}

这使: MWE编译

我知道 1a 代表文档 1,子图 a,但我想将子图视为图形的子浮点数,而不是文档。

怎么做?感谢您的阅读,也感谢您提供的任何有用的帮助!

答案1

您可以在包含两个子图的\captionsetup{type=figure}中使用。然后,您可以使用而不是,从而得到以下输出:minipage\captionof{figure}\caption

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{newfloat}
\usepackage{tcolorbox}

\newcounter{numdoc}
\renewcommand\thenumdoc{\arabic{numdoc}}
\DeclareFloatingEnvironment[name=Doc.,listname={Liste des documents}]{docuflottant}
%\newsubfloat{docuflottant}

\newenvironment{docu}[1]{
    \refstepcounter{numdoc}
    \begin{docuflottant}
    \begin{tcolorbox}[title={\caption{#1}}]
    }{
    \end{tcolorbox}
    \end{docuflottant}
    }
    
\begin{document}

\begin{figure}
\centering
 Figure 1
 \caption{Figure 1}
\end{figure}

\begin{docu}{An interesting doc}
\lipsum[1]
 
 \begin{minipage}{\columnwidth}
 \captionsetup{type=figure}
 \begin{center}
  \begin{subfigure}{5cm}
   Figure 2a
   \caption{\label{fig2a}Figure 2a}
  \end{subfigure}
  \begin{subfigure}{5cm}
   Figure 2b
   \caption{\label{fig2b}Figure 2b}
  \end{subfigure}
  \end{center}
 \caption{figure 2a et 2b}\label{fig:documentfigure}
 \end{minipage}
 
\end{docu}


I would like a reference to 'Figure 2a' to be figure~2a, and it is figure~\ref{fig2a}\dots



\end{document}

相关内容