# [NTG-context] [doifinset] how it works ?

Otared Kavian otared at gmail.com
Thu Aug 21 22:28:46 CEST 2014

Hi,

Here are a few examples of how to use \doifinset and \doifinsetelse (they were given by Wolfgang S. a few years ago…):

\starttext
\type{\doifinset{A}{A,B,C}{should go}:} \doifinset{A}{A,B,C}{should go}

\type{\doifinset{D}{A,B,C}{should go}:}  \doifinset{D}{A,B,C}{should participate}

\type{\doifnotinset{}{A,B,C}{not in the set}:} \doifnotinset{}{A,B,C}{not in the set}

\type{\doifnotinset{D}{A,B,C}{not in the set}:} \doifnotinset{D}{A,B,C}{not in the set}

\doifinsetelse{D}{A,B,C}{it is in the set}{it is not in the set}

\define\test{B}

\type{\doifinsetelse{\test}{A,B,C}{\test\ is in the set}{\test\ is not in the set}}

\doifinsetelse{\test}{A,B,C}{\test\ is in the set}{\test\ is not in the set}
\stoptext

Best regards: OK

On 21 Aug 2014, at 21:58, Pierre-François Bonnefoi <bonnefoi at unilim.fr> wrote:

> Hello,
>
> I'm currently prepping my teaching material for my back-to-university.
>
> I want to design some conditional slides based presentation where I can select the slides that I want to show in my final presentation.
>
> My current attempt is to use :
> 1 - MKIV as I use currently only MKII;
> 2 - a counter is defined, that it is incremented at each slide definition;
> 3 - a commalist to indicate the slides that I want. The number affected to each slide is made according to its definition in the file and not the slide number displayed;
> 4 - a block is added to enclosed each slide in order to allow or not it to be shown in the final presentation.
>
> \definenumber[slide][way=bytext,prefix=no]
> % firstly I generate a full commalist
> \def\slidelist{}
> \dorecurse{8}{
> 	\doglobal\appendtocommalist{#1}\slidelist
> }
>
> % then I define my slide where I increment the counter
> \def\startSlide{\setupbackgrounds[page][background={fond,Auteur,backgraphics,foreground,foregraphics}]
> \directsetup{slide:start}}
> \def\stopSlide{\directsetup{slide:stop}}
> \startsetups slide:start
> \page
> \incrementnumber[slide]
> \switchtobodyfont[14pt]
> \setupinteractionbar[state=start]
> \startnarrower[left]
> \stopsetups
>
> \startsetups slide:stop
> \stopnarrower
> \page
> \stopsetups
>
> \starttext
>
> \doifinset{\getnumber[slide]}{\slidelist}
> {
> \startSlide
> \SlideTitleSub{Hello there}
>
> What is my number ? \getnumber[slide] !
>
> \stopSlide
> }
> \stoptext
>
>
> This doesn't work. the "doifinset" doesn't work. I've tried to put some \expanded in order to expand the arguments with no success.
>
> The only way is to use direct argument as :
> \doifinset{1}{1,2,3,4,5}
>
> Let me know it it is possible.
>
> best regards,
> Pierre-François Bonnefoi.
> --
> Bonnefoi Pierre-Francois                |    E-mail : bonnefoi at unilim.fr http://libpfb.so/
> Universite de Limoges, Laboratoire XLIM |       Tel : 06 28 18 03 38
> 123 av Albert Thomas                    |  Mrs. Peel, we're needed...
> 87060 Limoges CEDEX - FRANCE            |                 The Avengers.
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20140821/055c44bb/attachment-0001.html>