# Re: [NTG-context] Caption textcommand option

Am 19.10.2010 um 16:55 schrieb Cedric Mauclair:

>>> Would it be possible to add an options to the captions with name
>>> textcommand to typeset the caption text only. In French, we use a
>>> point at the end of the captions, but if I want to use \about...
>>> somewhere, I end up with the dot too, which I don't want.
>>>
>>> [...]
>>
>> Make a complete example to show us what do you want to achieve before you
>> try to modify commands.
>
> Here is a minimal example. I would like the first caption and the second
> reference.


Indeed, there is no simple way to achieve what you want and textcommand
is the easiest solution (but i would include the strut in the command), e.g.

<example id="1">
\unprotected\long\def\putcompletecaption#1#2%

{\doifsomething{\floatcaptionparameter\c!spacebefore}{\blank[\floatcaptionparameter\c!spacebefore]}%
% \floatcaptionparameter\c!before % test for side effects first
\noindent
\xdef\lastcaptiontag{\strut#1}%
\dostartattributes{\??kj\currentfloat}\c!style\c!color\empty
\ifnofloatnumber
\else

\ifnofloatcaption \else \ifemptyfloatcaption \else
\doifelsenothing{\floatcaptionparameter\c!spaceinbetween}
{\scratchskip\floatcaptionparameter\c!distance\relax
\dotfskip\scratchskip\emergencystretch.5\scratchskip}
{\blank[\floatcaptionparameter\c!spaceinbetween]}%
\fi \fi
\fi
\ifnofloatcaption
\globallet\lastcaptionht\!!zeropoint
\globallet\lastcaptiondp\!!zeropoint
\else
\doattributes{\??kj\currentfloat}\c!textstyle\c!textcolor
{\xdef\lastcaptionht{\strutheight}%
\xdef\lastcaptiondp{\strutdepth}%
%        \begstrut#2\endstrut\endgraf}%
\floatcaptionparameter\c!textcommand{\begstrut#2\endstrut}%
\endgraf}%
\fi
\dostopattributes
% \floatcaptionparameter\c!after % test for side effects first

\doifsomething{\floatcaptionparameter\c!spaceafter}{\blank[\floatcaptionparameter\c!spaceafter]}}

\starttext

This is some text with a reference to a table named \about[tab:table].

\placetable[here][tab:table]{My caption.}{...}

\setupcaptions[textcommand=\groupedcommand{}{.}]

This is some text with a reference to a table named \about[tab:other-table].

\placetable[here][tab:other-table]{My caption}{...}

\stoptext
</example>

but it’s possible to get the desired result also with a selector, e.g.

<example id="2">
\defineselector[caption][max=2,n=2]

\startsetups select:caption
\setupselector[caption][n=1]
\stopsetups

\setupcaptions[setups=select:caption]

\starttext

This is some text with a reference to a table named \about[tab:table].

\placetable[here][tab:table]{\select{caption}{My caption.}{My caption}}{...}

\stoptext
</example>

Wolfgang

___________________________________________________________________________________