如何让 \ref 自动输出表格、附录等?

如何让 \ref 自动输出表格、附录等?

当我使用时,\ref我的输出只是表格的编号或附录的字母。例如,在下面的 MWE 中,当我输入 See 时,\ref{Test1}我的输出是 See 1.1,对于 See\ref{AppendixA}输出是 See A。

有没有办法让输出参见表 1.1 和附录 A?

\documentclass[11pt, a4paper, oneside, oldfontcommands]{memoir}
\usepackage{lipsum} % just for dummy text

\begin{document}
\chapter{This is a test chapter}
hello there, please see \ref{AppendixA}

\begin{table}[h]
\centering
\begin{tabular}{ll}
Test & Table \\
1    & 2     \\
3    &      
\end{tabular}
\caption{Test Table}
\label{Test1}
\end{table}
\lipsum[1] Please see \ref{Test1}

\appendix
\chapter{This is a test Appendix} % Main appendix title
\label{AppendixA} % For referencing this appendix elsewhere, use \ref{AppendixA}
\lipsum[1]
\end{document}

答案1

有几个包可以实现这一点,cleveref似乎是最先进和最可定制的包。

至少如果他们的文档中的章节适合:

鉴于自动交叉引用排版的实用性,自然有许多其他 LaTeX 软件包具有与 cleveref 类似的目标,最著名的是 varioref、fancyref、hyperref 的 \autoref 命令,以及(用于定理类环境)带有 thref 选项的 ntheorem。(还有许多其他软件包,但这些软件包最接近提供与 cleveref 类似的功能。)然而,它们都存在某些缺陷,cleveref 试图克服这些缺陷。

如果您想首先使用 cleveref,只需将您的\ref命令替换为\cref

重要的注意:即使在 hyperref 之后,cleveref 也应该是您最后加载的包

\documentclass[11pt, a4paper, oneside, oldfontcommands]{memoir}
\usepackage{lipsum} % just for dummy text

%% All you packages here

\usepackage{hyperref}
\usepackage{cleveref}

\begin{document}
\chapter{This is a test chapter}
hello there, please see \cref{AppendixA}

\begin{table}[h]
\centering
\begin{tabular}{ll}
Test & Table \\
1    & 2     \\
3    &      
\end{tabular}
\caption{Test Table}
\label{Test1}
\end{table}
\lipsum[1] Please see \cref{Test1}

\appendix
\chapter{This is a test Appendix} % Main appendix title
\label{AppendixA} % For referencing this appendix elsewhere, use \ref{AppendixA}
\lipsum[1]
\end{document}

相关内容