\documentclass{article}
\RequirePackage{longtable,nameref}
\begin{document}
\begin{longtable}[t]{l l}
\caption{Table caption.}
\label{tab:table1}
\\ a & b
\\ c & \textit{\nameref*{tab:table1}}
\end{longtable}
\end{document}
是否可以在一个单元格中使用当前表格的标题而不输入其标签tab:table1
,而是使用“自引用” \currentlabelname
——前提是在当前表格环境中只创建一个标签和一个标题?
答案1
包nameref
将标题存储在宏中\@currentlabelname
。但是,它是本地存储的,因此需要将其分配给全局宏以供其他表格单元格使用:
\documentclass{article}
\RequirePackage{longtable,nameref}
\begin{document}
\begin{longtable}[t]{l l}
\caption{Table caption.}
\label{tab:table1}
\global\expandafter
\let\expandafter\captiontitle\csname @currentlabelname\endcsname
\\ a & b
\\ c & \textit{\captiontitle}
\end{longtable}
\end{document}