引用子表而不引用其父表编号

引用子表而不引用其父表编号

在下面的MWE中,我只想1a通过显示 来引用子表a。 我不想显示父级的编号Table 1

在这篇文章中

如何在标题中引用子图

第一个例子显示了使用 的解决方案\subbottom。但是,是否有直接设置tablesubtable来实现我想要的效果?

MWE 是

\documentclass[11pt]{article}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\usepackage{caption}
\usepackage{subcaption}


\begin{document}



\begin{table}[ht]
\begin{subtable}{3cm}
$X \xrightarrow{\phantom{=======}} Y$
\caption{sub-tab}
\label{subtab}
\end{subtable}
\caption{tab}
\label{tab}
\end{table}

This is refer to subtable \ref{subtab}.

\end{document}

感谢 的回答Christian Hupfer。很抱歉没有更仔细地考虑我的问题。事实上,我想实现 中的目标beamer。我在下面给出了一个 MWE。使用\subrefbeamer跳转到标题页。需要一种方法来解决这个问题。但是,Christian Hupfer的回答article 仍然很有帮助!

\documentclass{beamer}

\mode<presentation>
{
    \usetheme{Warsaw}
    \setbeamertemplate{headline}{}
    \setbeamertemplate{itemize item}[triangle]
    \setbeamertemplate{itemize subitem}[triangle]
    \setbeamertemplate{itemize subsubitem}[triangle]
    \setbeamercovered{transparent}
    \useoutertheme{infolines}
    \usefonttheme{professionalfonts}
}

\setbeamertemplate{section page}
{
    \begin{centering}
    \begin{beamercolorbox}[sep=12pt,center]{part title}
    \usebeamerfont{section title}\insertsection\par
    \end{beamercolorbox}
    \end{centering}
}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\usepackage{caption}
\usepackage{subcaption}
\captionsetup{compatibility=false}


\begin{document}

\frame{\titlepage}
\frame{\tableofcontents}

\begin{frame}

\begin{table}[ht]
\begin{subtable}{3cm}
$X \xrightarrow{\phantom{=======}} Y$
\caption{sub-tab}
\label{subtab}
\end{subtable}
\caption{tab}
\label{tab}
\end{table}

\end{frame}

\begin{frame}

This is refer to subtable \subref{subtab}.

\end{frame}

\end{document}

答案1

该包定义了专门为此用途设计的subcaption命令:\subref

\ref{foo}将显示完整表格编号(或标题编号),而\subref{foo}仅显示子表格(或子标题编号)

subcaption将定义类型的标签sub@foo并剥离驱动标题编号,例如此处的表格编号。

memoir's\subcaptionref似乎是一个类似的命令,但我到目前为止从未使用过它。

\documentclass[11pt]{article}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\usepackage{caption}
\usepackage{subcaption}



\begin{document}



\begin{table}[ht]
\begin{subtable}{3cm}
$X \xrightarrow{\phantom{=======}} Y$
\caption{sub-tab}
\label{subtab}
\end{subtable}
\caption{tab}
\label{tab}
\end{table}

This is refer to \subref{subtab}.

\end{document}

在此处输入图片描述

更新这是beamer版本——显然超链接设置不正确,因此尝试提取\subref*并通过重新定义来使用自动超链接\subref

\documentclass{beamer}


\mode<presentation>
{
    \usetheme{Warsaw}
    \setbeamertemplate{headline}{}
    \setbeamertemplate{itemize item}[triangle]
    \setbeamertemplate{itemize subitem}[triangle]
    \setbeamertemplate{itemize subsubitem}[triangle]
    \setbeamercovered{transparent}
    \useoutertheme{infolines}
    \usefonttheme{professionalfonts}
}

\setbeamertemplate{section page}
{
    \begin{centering}
    \begin{beamercolorbox}[sep=12pt,center]{part title}
    \usebeamerfont{section title}\insertsection\par
    \end{beamercolorbox}
    \end{centering}
}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\usepackage{caption}
\usepackage{subcaption}
\captionsetup{compatibility=false}

\makeatletter
\let\orig@subref\subref

\renewcommand{\subref}{%
  \@ifstar{\subref@starred}{\subref@unstarred}%
}

\newcommand{\subref@starred}[1]{%
  \orig@subref*{#1}%
}

\newcommand{\subref@unstarred}[1]{%
  \hyperlink{#1}{\orig@subref*{#1}}%
}
\makeatother


\begin{document}

\frame{\titlepage}
\frame{\tableofcontents}

\begin{frame}

\begin{table}[ht]
\begin{subtable}{3cm}
$X \xrightarrow{\phantom{=======}} Y$
\caption{sub-tab}
\label{subtab}
\end{subtable}
\caption{tab}
\label{tab}
\end{table}

\end{frame}

\begin{frame}

This is refer to subtable \subref{subtab} %\hyperlink{subtab}{\subref*{subtab}}.

\end{frame}

\end{document}

相关内容