我宣布了一个包含\caption
和\label
的新环境,因此我可以引用它。
在我的标题中:
\DeclareFloatingEnvironment[name=Tableau]{tableau}
\newenvironment{ptab}{\captionsetup{type=tableau}}{}
在我的.tex文档中:
\begin{ptab}
\caption{A caption for my table}
\label{ptab:myTab}
\end{ptab}
Some text with a reference (Tableau~\ref{ptab:myTab}) % Works fine !
问题:我希望通过声明可以为我写这个的\newcommand
来获得一些时间。但是文本中的引用不再有用了!
在我的标题中添加:
\newcommand{\tabref}[2]{%
\begin{ptab}
\label{#1}
\caption{#2}
\end{ptab}}
在.tex文档中:
\tabref{ptab:myTab}{A caption for my table}
Some text with a reference (Tableau~\ref{ptab:myTab}) % Not working "(Tableau ??)"
我知道之前已经提出类似的问题,但它并不涉及新环境。 How to reference a label within a newcommand in LATEX?
答案 0 :(得分:0)
我发现\label{}
和\caption{}
的顺序被颠倒了。
这很重要,因为LaTeX需要在之前创建一个标题,它可以用标签引用。
工作代码:
\newcommand{\tabref}[2]{%
\begin{ptab}
\caption{#2}
\label{#1}
\end{ptab}}
\tabref{ptab:myTab}{A caption for my table}
Some text with a reference (Tableau~\ref{ptab:myTab}) % Now working !