我对如何在引用表格时显示自定义文本有疑问。
例如下图是我的文档中的第11个表格,它的自定义标签是Table:S3。
当引用表格时,我希望它能够显示在其自定义的标签中,如下所示:
The general disease genes are listed in Table:S3
然而,当我引用它时
The general disease genes are listed in ~\ref{Table:S3}.
它显示
The general disease genes are listed in 11.
11 表示它是我的文档中的第 11 个表格。
我想知道是否有办法引用表格但显示我定义的文本。
表格如下所示
\begin{table}[H]
\centering
\captionsetup{labelformat=empty}
\caption{Supplementary table 3: Disease seed genes}
\label{Table:S3}
A & B \\
\end{tabular}
\end{table}
答案1
你有\hyperref
。
\documentclass{article}
\usepackage{hyperref}
\usepackage{caption}
\newcommand\myref[1]{\hyperref[#1]{#1}}
\begin{document}
\begin{table}[t]
\centering
\captionsetup{labelformat=empty}
\caption{Supplementary table 3: Disease seed genes}
\label{Table:S3}
\begin{tabular}{cc}
A & B \\
\end{tabular}
\end{table}
Now we refer to~\myref{Table:S3}. Now we refer to~\hyperref[Table:S3]{Blah blah}.
\end{document}
答案2
newfloat
这是使用和 的另一种可能性cleveref
。我定义了一个新的浮点类型supptable
,其标题前缀为Supplementary Table
。可以使用以下命令更改表格引用中显示的内容\crefname
:
\documentclass{article}
\usepackage{caption}
\usepackage{newfloat}
\DeclareFloatingEnvironment[name={Supplementary Table}]{supptable}
\usepackage{hyperref}
\usepackage{cleveref}
\crefname{supptable}{Supplementary Table}{Supplementary Tables}
\begin{document}
\begin{supptable}
\centering
\caption{Disease seed genes}
\label{Table:S3}
\begin{tabular}{ll}
A & B \\
\end{tabular}
\end{supptable}
See \cref{Table:S3}
\end{document}