标题几乎说明了一切...
我想检索我之前在文档中放置的图形的标题。
\starttext
\placefigure[][fig:foo]{My caption}{\externalfigure[foo.png]}
\input knuth
\getcaption{fig:foo} %Output: My caption
\stoptext
答案1
您可以使用 命令显示浮动标题或节标题的文本\about
。另一种方法是使用\getreference
带有title
关键字的命令。
要从命令中删除引号,请更改命令的和键的\about
值。left
right
\setupreferencing
\useMPlibrary[dum]
% \setupreferencing[left=,right=]
\starttext
\placefigure[][fig:foo]{My caption}{\externalfigure[foo.png]}
\samplefile{knuth}
\starttabulate
\NC \tex{about} \EQ \about[fig:foo] \NC\NR
\NC \tex{getreference} \EQ \getreference[title][fig:foo] \NC\NR
\stoptabulate
\stoptext
答案2
深入研究ConTeXt 维基帮助我使用数据集找到了答案
%create a data set with figure captions
\definedataset[Captions]
%macro that will place figure and store its caption data
\def\Myfigure#1#2#3{%
%title is store in Captions data set under the figure label key
\setdataset[Captions][#1][caption=#2]
\placefigure[#1]{#2}{#3}
}
\def\Getcaption#1{%
%call for dataset with the figure label
\datasetvariable{Captions}{#1}{caption}
}
\starttext
\Myfigure{fig:foo}{a retrievable caption}{\externalfigure[cow]}
\input knuth
\bf \Getcaption{fig:foo}
\stoptext