Etiquetado independiente de una figura y una tabla (en el mismo entorno de figura) con un título combinado

Etiquetado independiente de una figura y una tabla (en el mismo entorno de figura) con un título combinado

Estoy intentando hacer referencia a una figura y una tabla (con ~\ref{}) en mi documento. Coloqué ambos elementos en un entorno de figura (primero la figura, luego la tabla, ambos dentro de una minipágina) para que se mostraran uno al lado del otro. Para verlo mejor, estoy usando un título combinado. Encontré una solución al problema de la etiqueta en esto.alimentar. Ahora puedo llamar a mi figura y a la mesa. Sin embargo, la referencia de la tabla parece estar ligada al número de figura. El problema es que tengo figuras y tablas en mi documento que están en sus entornos normales y los contadores en el lugar donde aparece esta figura/tabla combinada no son los mismos para la figura y la tabla.

¿Alguien tiene sugerencias sobre cómo solucionar este problema para mostrar los números correctos de tablas y figuras? En mi preámbulo también definíeste:

\DeclareCaptionLabelFormat{figandtab}{#1~#2  \&  \tablename~\thetable}

para permitirme usar una figura combinada y un título de tabla. Está funcionando como debería e indica la figura y el número de tabla correctos. Es solo la etiqueta y la referencia a la misma lo que no funciona con el contador correcto.

Esto es lo que he usado para la figura/tabla.

\begin{figure}[h]
    \centering
    \begin{minipage}{0.49\textwidth}
        \centering
        \includegraphics[width=1.0\columnwidth]{picture.jpg}%}
\end{minipage}
\begin{minipage}{0.49\textwidth}
    \centering
    \captionsetup{type=table}
    \resizebox{0.9\linewidth}{!}{%
        \begin{tabular}{lll}
        *my table contents*
        \end{tabular}%
    }
\end{minipage}
\captionsetup{labelformat=figandtab}
\caption{combined caption}
\label{fig:figure_label}
{\makeatletter\edef\@currentHref{table.caption.\the\c@table}\label{tab:table_label}}
\end{figure}

¡Estaría agradecido por tu ayuda!

Respuesta1

Puedes usar el comando \captionof{<figure or table>}{<text>}(paquete caption). Se encargará de todos los deberes.

C

\documentclass[12pt]{article}

\usepackage{graphicx}
\usepackage{caption} % needed <<<<<<<<<<<<<<<<<<<<<<

\begin{document}
    \listoftables
    \listoffigures
    
    \begin{figure}[h]
        \centering
        \begin{minipage}{0.49\textwidth}
            \centering
            \includegraphics[width=1.0\linewidth]{example-image}%}
        \end{minipage}
        \begin{minipage}{0.49\textwidth}
            \centering
            \captionof{table}{A table caption}\label{tab:table_label}
            \resizebox{0.9\linewidth}{!}{%
                \begin{tabular}{lll}
                    *my table contents*
                \end{tabular}%
            }
        \end{minipage}      
        \captionof{figure}{combined caption}
        \label{fig:figure_label}
    \end{figure}

See the figure~\ref{fig:figure_label} and the adjoining table~\ref{tab:table_label}.

\end{document}
    

Respuesta2

Este realiza las mismas funciones que \caption. Tenga en cuenta que los hipervínculos van a la parte superior de las minipáginas.

\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\listoffigures

\listoftables

\begin{figure}[ht]
\centering
    \begin{minipage}{0.49\textwidth}
        \refstepcounter{figure}\label{fig:figure label}%
        \addcontentsline{lof}{figure}{\protect\numberline{\thefigure}LOF caption}%
        \centering
        \includegraphics[width=\linewidth]{example-image}%}
    \end{minipage}
    \begin{minipage}{0.49\textwidth}
        \refstepcounter{table}\label{tab:table_label}%
        \addcontentsline{lot}{table}{\protect\numberline{\thetable}LOT caption}%
        \centering
        \resizebox{0.9\linewidth}{!}{%
            \begin{tabular}{lll}
            *my table contents*
            \end{tabular}%
        }
    \end{minipage}
\par\vskip\abovecaptionskip
\figurename~\thefigure~\&~\tablename~\thetable: yadda yadda yadda
\par\vskip\belowcaptionskip
\end{figure}

Link to \figurename~\ref{fig:figure label} and \tablename~\ref{tab:table_label}.
\end{document}

información relacionada