Re: [NTG-context] Float caption feature request
Mojca Miklavec wrote: > On 5/5/06, Hans Hagen wrote: > > >> \placefigure >> {\select{caption}{zapf}{\input zapf \relax}} >> {} >> >> \stoptext >> >> i'll add selectors to the core >> > > Very nice feature! > > What about > \select[caption]{zapf}{\input zapf \relax} > syntax instead? (You're the boss and the designer, but square brackets > seem more consistent with other ConTeXt commands; at least to me.) > this is indeed more natural to context, but i consider \select to be more like the \getvariable mechanism, and when used inside [] it saves outer braces: \setupheadertexts[\select{caption}{zapf}{\input zapf \relax}] Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
On 5/5/06, Hans Hagen wrote: > \placefigure > {\select{caption}{zapf}{\input zapf \relax}} > {} > > \stoptext > > i'll add selectors to the core Very nice feature! What about \select[caption]{zapf}{\input zapf \relax} syntax instead? (You're the boss and the designer, but square brackets seem more consistent with other ConTeXt commands; at least to me.) Mojca ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
Just disregard this post and have mercy on the deadline panicked ... Joh Johannes Graumann wrote: > The 'selector' feature sounds truly wonderfull! The code below doesn't > compile yet for me though ... > 1) '\protect' needs to be called after '{\executeifdefined{\??sx#1\c!n > 1}}', no? > 2) Even after changing that I run into the following error when compiling > the example below: > > ! Missing { inserted. > > > l.94 > {\select{caption}{zapf}{\input zapf \relax}} > > Thank you for your help! > > Joh > > Hans Hagen wrote: >> \unprotect >> >> % let's reuse this one in selectors (from syst-ext) >> >> \def\dofilterfromstr#1#2% max n >> {\ifcase#1\or >> \ifcase#2\or >>\strippedcsname\firstofoneargument >> \else >>\strippedcsname\gobbleoneargument >> \fi >>\or >> \ifcase#2\or >>\strippedcsname\firstoftwoarguments >> \or >>\strippedcsname\secondoftwoarguments >> \else >>\strippedcsname\gobbletwoarguments >> \fi >>\or >> \ifcase#2\or >>\strippedcsname\firstofthreearguments >> \or >>\strippedcsname\secondofthreearguments >> \or >>\strippedcsname\thirdofthreearguments >> \else >>\strippedcsname\gobblethreearguments >> \fi >>\or >> \ifcase#2\or >>\strippedcsname\firstoffourarguments >> \or >>\strippedcsname\secondoffourarguments >> \or >>\strippedcsname\thirdoffourarguments >> \or >>\strippedcsname\fourthoffourarguments >> \else >>\strippedcsname\gobblefourarguments >> \fi >>\or >> \ifcase#2\or >>\strippedcsname\firstoffivearguments >> \or >>\strippedcsname\secondoffivearguments >> \or >>\strippedcsname\thirdoffivearguments >> \or >>\strippedcsname\fourthoffivearguments >> \or >>\strippedcsname\fifthoffivearguments >> \else >>\strippedcsname\gobblefivearguments >> \fi >>\fi} >> >> \def\filterfromvalue#1#2#3% value max n >> [EMAIL PROTECTED]@EAEAEA\csname % we use the fact that an >> [EMAIL PROTECTED] % undefined cs has become \relax >>\strippedcsname\gobbleoneargument % which we then gobble here >> \else >>\dofilterfromstr{#2}{#3}% >> \fi >> \endcsname\csname#1\endcsname} >> >> \def\filterfromnext#1#2% max n {..}{..}{..}{..} >> {\csname\dofilterfromstr{#1}{#2}\endcsname} >> >> % new, selectors >> >> \definesystemvariable{sx} >> >> \def\defineselector{\dodoubleargument\dodefineselector} >> \def\setupselector {\dodoubleargument\dosetupselector} >> >> \def\dodefineselector[#1][#2]{\getparameters[\??sx#1][\c!max=2 \c!n=1,#2]} >> \def\dosetupselector [#1][#2]{\getparameters[\??sx#1][#2]} >> >> \unexpanded\def\select#1% >> {\filterfromnext >> {\executeifdefined{\??sx#1\c!max}1} >> {\executeifdefined{\??sx#1\c!n }1}} >> >> \defineselector[caption][max=2,n=1] >> >> \start >> \setupselector[caption][n=1] >> \placelist[figure][criterium=all] >> \stop >> >> \starttext >> >> \placefigure >> {\select{caption}{zapf}{\input zapf \relax}} >> {} >> >> \stoptext >> >> i'll add selectors to the core >> >> Hans >> >> - >> Hans Hagen | PRAGMA ADE >> Ridderstraat 27 | 8061 GH Hasselt | The Netherlands >> tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com >> | www.pragma-pod.nl >> - ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
Taco Hoekwater wrote: > Perhaps \nomarking works in captions as well (have not checked). Sadly no. Joh ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
The 'selector' feature sounds truly wonderfull! The code below doesn't compile yet for me though ... 1) '\protect' needs to be called after '{\executeifdefined{\??sx#1\c!n 1}}', no? 2) Even after changing that I run into the following error when compiling the example below: ! Missing { inserted. l.94 {\select{caption}{zapf}{\input zapf \relax}} Thank you for your help! Joh Hans Hagen wrote: > \unprotect > > % let's reuse this one in selectors (from syst-ext) > > \def\dofilterfromstr#1#2% max n > {\ifcase#1\or > \ifcase#2\or >\strippedcsname\firstofoneargument > \else >\strippedcsname\gobbleoneargument > \fi >\or > \ifcase#2\or >\strippedcsname\firstoftwoarguments > \or >\strippedcsname\secondoftwoarguments > \else >\strippedcsname\gobbletwoarguments > \fi >\or > \ifcase#2\or >\strippedcsname\firstofthreearguments > \or >\strippedcsname\secondofthreearguments > \or >\strippedcsname\thirdofthreearguments > \else >\strippedcsname\gobblethreearguments > \fi >\or > \ifcase#2\or >\strippedcsname\firstoffourarguments > \or >\strippedcsname\secondoffourarguments > \or >\strippedcsname\thirdoffourarguments > \or >\strippedcsname\fourthoffourarguments > \else >\strippedcsname\gobblefourarguments > \fi >\or > \ifcase#2\or >\strippedcsname\firstoffivearguments > \or >\strippedcsname\secondoffivearguments > \or >\strippedcsname\thirdoffivearguments > \or >\strippedcsname\fourthoffivearguments > \or >\strippedcsname\fifthoffivearguments > \else >\strippedcsname\gobblefivearguments > \fi >\fi} > > \def\filterfromvalue#1#2#3% value max n > [EMAIL PROTECTED]@EAEAEA\csname % we use the fact that an > [EMAIL PROTECTED] % undefined cs has become \relax >\strippedcsname\gobbleoneargument % which we then gobble here > \else >\dofilterfromstr{#2}{#3}% > \fi > \endcsname\csname#1\endcsname} > > \def\filterfromnext#1#2% max n {..}{..}{..}{..} > {\csname\dofilterfromstr{#1}{#2}\endcsname} > > % new, selectors > > \definesystemvariable{sx} > > \def\defineselector{\dodoubleargument\dodefineselector} > \def\setupselector {\dodoubleargument\dosetupselector} > > \def\dodefineselector[#1][#2]{\getparameters[\??sx#1][\c!max=2,\c!n=1,#2]} > \def\dosetupselector [#1][#2]{\getparameters[\??sx#1][#2]} > > \unexpanded\def\select#1% > {\filterfromnext > {\executeifdefined{\??sx#1\c!max}1} > {\executeifdefined{\??sx#1\c!n }1}} > > \defineselector[caption][max=2,n=1] > > \start > \setupselector[caption][n=1] > \placelist[figure][criterium=all] > \stop > > \starttext > > \placefigure > {\select{caption}{zapf}{\input zapf \relax}} > {} > > \stoptext > > i'll add selectors to the core > > Hans > > - > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com > | www.pragma-pod.nl > - ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
Johannes Graumann wrote: > Hello, > > In LaTeX (don't remember whether this is generic or specific to one of the > packages I used to use), the 'caption' command for floats came along this > way: > > \caption[optional short version]{Caption} > we use [] for references, and once users want one alternative, they may want another one as well, so best cook up a generic mechanism > If one uses the 'optional short version' bit, the Table of Figures/Tables > present the short version rather than the whole caption (which in my case > is long paragraphs and makes the TOF/TOT unpractical). I would very much > like to have that functionality in context. > > Thanks for any hints on how to achieve this. Poking around in the source did > not lead this newbie to a starting point ... > something \def\MyCaption{\firstoftwoarguments} ...\MyCaption{bla}{more bla} or better, wrapped in a feature: \unprotect % let's reuse this one in selectors (from syst-ext) \def\dofilterfromstr#1#2% max n {\ifcase#1\or \ifcase#2\or \strippedcsname\firstofoneargument \else \strippedcsname\gobbleoneargument \fi \or \ifcase#2\or \strippedcsname\firstoftwoarguments \or \strippedcsname\secondoftwoarguments \else \strippedcsname\gobbletwoarguments \fi \or \ifcase#2\or \strippedcsname\firstofthreearguments \or \strippedcsname\secondofthreearguments \or \strippedcsname\thirdofthreearguments \else \strippedcsname\gobblethreearguments \fi \or \ifcase#2\or \strippedcsname\firstoffourarguments \or \strippedcsname\secondoffourarguments \or \strippedcsname\thirdoffourarguments \or \strippedcsname\fourthoffourarguments \else \strippedcsname\gobblefourarguments \fi \or \ifcase#2\or \strippedcsname\firstoffivearguments \or \strippedcsname\secondoffivearguments \or \strippedcsname\thirdoffivearguments \or \strippedcsname\fourthoffivearguments \or \strippedcsname\fifthoffivearguments \else \strippedcsname\gobblefivearguments \fi \fi} \def\filterfromvalue#1#2#3% value max n [EMAIL PROTECTED]@EAEAEA\csname % we use the fact that an [EMAIL PROTECTED] % undefined cs has become \relax \strippedcsname\gobbleoneargument % which we then gobble here \else \dofilterfromstr{#2}{#3}% \fi \endcsname\csname#1\endcsname} \def\filterfromnext#1#2% max n {..}{..}{..}{..} {\csname\dofilterfromstr{#1}{#2}\endcsname} % new, selectors \definesystemvariable{sx} \def\defineselector{\dodoubleargument\dodefineselector} \def\setupselector {\dodoubleargument\dosetupselector} \def\dodefineselector[#1][#2]{\getparameters[\??sx#1][\c!max=2,\c!n=1,#2]} \def\dosetupselector [#1][#2]{\getparameters[\??sx#1][#2]} \unexpanded\def\select#1% {\filterfromnext {\executeifdefined{\??sx#1\c!max}1} {\executeifdefined{\??sx#1\c!n }1}} \defineselector[caption][max=2,n=1] \start \setupselector[caption][n=1] \placelist[figure][criterium=all] \stop \starttext \placefigure {\select{caption}{zapf}{\input zapf \relax}} {} \stoptext i'll add selectors to the core Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] Float caption feature request
Johannes Graumann wrote: > Hello, > > In LaTeX (don't remember whether this is generic or specific to one of the > packages I used to use), the 'caption' command for floats came along this > way: > > \caption[optional short version]{Caption} > > If one uses the 'optional short version' bit, the Table of Figures/Tables > present the short version rather than the whole caption (which in my case > is long paragraphs and makes the TOF/TOT unpractical). I would very much > like to have that functionality in context. Perhaps \nomarking works in captions as well (have not checked). Cheers, Taco ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
[NTG-context] Float caption feature request
Hello, In LaTeX (don't remember whether this is generic or specific to one of the packages I used to use), the 'caption' command for floats came along this way: \caption[optional short version]{Caption} If one uses the 'optional short version' bit, the Table of Figures/Tables present the short version rather than the whole caption (which in my case is long paragraphs and makes the TOF/TOT unpractical). I would very much like to have that functionality in context. Thanks for any hints on how to achieve this. Poking around in the source did not lead this newbie to a starting point ... Joh ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context