在下面的MWE中,我只想1a
通过显示 来引用子表a
。 我不想显示父级的编号Table 1
。
在这篇文章中
第一个例子显示了使用 的解决方案\subbottom
。但是,是否有直接设置table
和subtable
来实现我想要的效果?
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。使用\subref
会beamer
跳转到标题页。需要一种方法来解决这个问题。但是,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}