
Ich habe eine ziemlich große Tabelle in meinem Latex-Dokument und im Begleittext zur Tabelle möchte ich etwa Folgendes angeben:
Wie in Spalte A in Tabelle III dargestellt, ist es ...
Ich weiß, wie ich die Tabelle referenziere, aber wie kann ich den Spaltennamen referenzieren? Der Grund dafür ist, dass sich der Spaltenname ändern kann und ich mein Dokument nicht nach allen Instanzen durchsuchen möchte, in denen ich den Spaltennamen verwendet habe.
Eine vereinfachte Version meiner Tabelle sieht folgendermaßen aus:
\begin{table}[htbp]
\caption{The caption}
\label{tbl:data}
\tiny
\begin{tabularx}{\columnwidth}{l X c c c c c}
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} & \textbf{E} & \# Changed &F\\
\hline
\multirow{4}{*}{X} & X1 & 1 & 2 & 3 & 4 & 5\\
& X2 & 6 & 7 & 8 & 9 &\\
& X3 & 10 & 11 & 12 & 13 & 14\\
& X4 & 15 & 16 & 17 & 18 & 19\\
\hline
\end{tabularx}
\end{table}
Antwort1
Dies ist eine Version, die mit „jedem“ Spaltentitel funktioniert, indem eine falsche Bezeichnung hineingeschrieben .aux
und mit darauf verwiesen wird \nameref*
.
Wenn der Spaltentitel nur reine A
, o. ä. ist, wäre ein anderer, zählerbasierter Ansatz besser!
\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\newcommand{\columnheaddisplaystyle}[1]{%
\textbf{#1}%
}
\makeatletter
\newcommand{\labelthis}[2]{%
\columnheaddisplaystyle{#2}%
\immediate\write\@auxout{%
\string\newlabel{#1}{{}{}{#2}{}}
}%
}
\usepackage{hyperref}
\makeatletter
\begin{document}
\begin{table}[htbp]
\caption{The caption}
\label{tbl:data}
\tiny
\begin{tabularx}{\columnwidth}{l X c c c c c}
\labelthis{mycolumn}{A} & \textbf{B} & \textbf{C} & \textbf{D} & \textbf{E} & \# Changed &F\\
\hline
\multirow{4}{*}{X} & X1 & 1 & 2 & 3 & 4 & 5\\
& X2 & 6 & 7 & 8 & 9 &\\
& X3 & 10 & 11 & 12 & 13 & 14\\
& X4 & 15 & 16 & 17 & 18 & 19\\
\hline
\end{tabularx}
\end{table}
As presented in column \nameref*{mycolumn} in Table \ref{tbl:data}, it is ...
\end{document}