如何引用带有自定义编号的表格?

如何引用带有自定义编号的表格?

我有以下生成表的代码:

\documentclass[a4paper]{article}
\usepackage{booktabs}

\newcommand{\name}[4]{
    \begin{table}[!htbp]
        \centering
        \begin{tabular}{p{\textwidth}}
            \toprule
            \textbf{#1} \hspace{1em} #2    \\ \midrule
            #3 \\ \bottomrule
        \end{tabular}
    \label{name:#1}
    \end{table}
    \vspace{-1.25em}
    \paragraph{Justification:} #4 \\
}
\begin{document}
\name{AB:CDE:000}{XXX}{YYY}{ZZZ}

Some text \ref{name:AB:CDE:000}

\end{document}

现在每次我需要引用它时,我都需要将引用显示为“名称 - AB:CDE:000”。我该如何实现?

是否也可以将其自动编号为 AB:CDE:000、AB:CDE:010、AB:CDE:020 等?

答案1

由于您没有\caption在该表中使用指令,因此没有编号标题,并且您不能使用\label-\ref机制来创建交叉引用。

对于创建交叉引用的不同方法,我建议您加载包hyperref并使用其\hypertarget-机制。请注意,和指令\hyperlink的第一个参数必须相同。\hypertarget\hyperlink

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\newcommand{\name}[4]{
    \begin{table}[!htbp]
    \begin{tabular}{@{}p{\textwidth}@{}}
    \toprule
    \smash{\hypertarget{#1}{\textbf{#1}}} \qquad #2 \\ 
    \midrule
    #3 \\ 
    \bottomrule
    \end{tabular}
    \end{table}
    \vspace{-5ex}
    \paragraph{Justification:}#4\par
}
\begin{document}
\name{AB:CDE:000}{XXX}{YYY}{ZZZ}

\bigskip\noindent
A cross-reference to table \hyperlink{AB:CDE:000}{AB:CDE:000}.

\end{document}

相关内容