Независимая маркировка рисунка и таблицы (в одной и той же среде рисунка) с объединенной подписью

Независимая маркировка рисунка и таблицы (в одной и той же среде рисунка) с объединенной подписью

Я пытаюсь сослаться на рисунок и таблицу (с помощью ~\ref{}) в моем документе. Я поместил оба элемента в среду рисунка (сначала рисунок, потом таблица, оба внутри мини-страницы), чтобы они отображались рядом друг с другом. Для лучшего вида я использую объединенную подпись. Я нашел решение проблемы с меткой на этомкормить. Теперь я могу вызвать свой рисунок и таблицу. Однако ссылка на таблицу, похоже, привязана к номеру рисунка. Проблема в том, что в моем документе есть рисунки и таблицы, которые находятся в своей обычной среде, а счетчики в месте, где появляется этот объединенный рисунок/таблица, не совпадают для рисунка и таблицы.

Есть ли у кого-нибудь предложения, как это исправить, чтобы отображались правильные номера таблиц и рисунков? В своей преамбуле я также определилэтот:

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

чтобы разрешить мне использовать объединенную подпись рисунка и таблицы. Она работает так, как должна, и указывает правильный номер рисунка и таблицы. Просто ее метка и ссылка на нее не работают с правильным счетчиком.

Вот что я использовал для рисунка/таблицы.

\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}

Буду благодарен за вашу помощь!

решение1

Вы можете использовать команду \captionof{<figure or table>}{<text>}(package caption). Она позаботится обо всей домашней работе.

с

\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}
    

решение2

Выполняет те же функции, что и \caption. Обратите внимание, что гиперссылки ведут в верхнюю часть мини-страниц.

\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}

Связанный контент