我正在寻找位于附录中且位于附录之前的部分内的表格的交叉引用。
但是,当我这样做时,它显示的是“Tabelle 2 6”,而不是所需的“Tabelle 2”。我不知道为什么会有“6”,也不知道如何去掉它。我没有 6 张桌子。我怎样才能将其更改为“Tabelle 2”?
\hyperref[Tabelle 2]{Tabelle 2 \ref*{Tabelle 2}}
\section*{\Large APPENDIX}
\begin{table}
\begin{tabular}{l*{4}{c}}
\end{tabular}
\end{table}
\label{Tabelle 2}
答案1
我发现你的代码存在三个问题。
首先,
table
环境缺少一个\caption
语句。因此,table
柜台没有增加。其次,
\label
声称与表关联的语句不在环境内table
。因此,LaTeX 无法成功将标签“Tabelle 2”与相关表格关联。相反,标签与某个计数器关联,而该计数器恰好最近通过内部
\refstepcounter
指令进行了递增。这几乎可以是任何东西——numberedfigure
、numberedequation
、numberedsection
等。请在文档中检查编号为“6”的某个对象;这将是最主要的候选对象。第三,为了创建对表格的正确交叉引用,你应该——一旦你解决了上述问题——也替换
\hyperref[Tabelle 2]{Tabelle 2 \ref*{Tabelle 2}}
和
\hyperref[Tabelle 2]{Tabelle \ref*{Tabelle 2}}
即从中删除“2”字符
{Tabelle 2
。顺便说一句,我不清楚你用这个相当复杂的结构想要实现什么。如果你的目标是创建一个交叉引用调用,其中“Tabelle”和“2”都是超链接的一部分,那么有一个更简单的方法:
\autoref{Tabelle 2}
这是实现这些想法的示例文档。
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\begin{document}
%% two distinct ways to create the same cross-referencing call-out:
\hyperref[Tabelle 2]{Tabelle \ref*{Tabelle 2}}
\autoref{Tabelle 2}
\section*{\Large Appendix}
\addtocounter{table}{1} % just for this example
\begin{table}[h]
\centering
\caption{Eine \tablename} \label{Tabelle 2}
\begin{tabular}{lcccc}
\hline
a & b & c & d & e \\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
添加了一些标记以使其更具可读性。
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\section{Ein}
%\hyperref[Tabelle 2]{Tabelle 2 \ref*{Tabelle 2}}
\setcounter{table}{5}
\begin{table}
\begin{tabular}{l*{4}{c}}
AAA
\end{tabular}
\caption{}
\label{eine}
\end{table}
\section{Zwei}
\section*{\Large APPENDIX}
\begin{table}
\begin{tabular}{l*{4}{c}}
BBB
\end{tabular}
\caption{}
\end{table}
\label{Tabelle 2}
\ref{eine} %This refers to Table 6
\ref{Tabelle 2} %This refers to Section 2
\end{document}
当您\caption
在里面时table
,\ref
会给出正确的表格编号,但是当标题在外面时,table
它指的是章节编号(在本例中)。现在您可以看到这些数字不是随机的,但它们具有非常精确的含义,暂时与您的需求不同。