4 %D title=\CONTEXT\ User Module,
5 %D subtitle=\CONTEXT\ Setup Definitions,
8 %D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
10 %C This module is part of the \CONTEXT\ macro||package and is
11 %C therefore copyrighted by \PRAGMA. See mreadme.pdf for
14 % module x-set-02 loads the mapping, after that we can say:
16 % texmfstart texexec --int=nl --pdf --global --result=setup-nl x-set-12
18 % \getinterfacecomponent{constant|variable|string}{tag}
20 % 2006-08 Wolfgang Schuster's adaptation of set-11.tex
21 % 2006-11 Vit Zyka adaptation
31 \def\setupintfont#1{\uppercase{#1}}
32 \def\setupvarfont {\sl}
33 \def\setupoptfont {\sl}
35 \def\setupoptcolor {darkgray
}
37 \defineXMLenvironmentsave [cd:content
] [list=,state=
]
38 {\simpleSETUPargument{content
}\blank[\v!halfline
]\ignorespaces}
41 \startmessages dutch library: setup
55 singular: naam enkelvoud
60 1: de karakters < en > zijn globaal actief!
62 3: -- is niet gedefinieerd
63 4: -- wordt nogmaals verwerkt
73 destination: bestemming
79 \startmessages english library: setup
90 identifier: identifier
93 singular: singular name
97 inherits: inherits from
98 1: the characters < and > are globally active!
101 4: -- is processed again
111 destination: destination
117 \startmessages german library: setup
135 inherits: inherits from
136 1: Die Zeichen < und > gelten global!
137 2: -- wird verarbeitet
138 3: -- ist undefiniert
139 4: -- ist mehrmals verarbeitet
149 destination: destination
155 \startmessages czech library: setup
156 title: nastaven
\iacute{}
158 number:
\ccaron\iacute slo
163 command: p
\rcaron\iacute kaz
166 identifier: identifik
\aacute tor
169 singular: jm
\eacute no v singul
\aacute ru
170 plural: jm
\eacute no v plur
\aacute lu
173 inherits: d
\ecaron d
\iacute{} z
174 1: znaky < a > jsou globaln
\ecaron{} aktivn
\iacute!
175 2: -- je zpracov
\aacute no
176 3: -- je nedefinov
\aacute no
177 4: -- je zpracov
\aacute no znovu
178 optional: voliteln
\eacute{}
187 destination: c
\iacute l
193 \startmessages italian library: setup
207 singular: singular name
211 inherits: inherits from
212 1: the characters < and > are globally active!
215 4: -- is processed again
225 destination: destination
231 \startmessages romanian library: setup
236 dimension: dimensiune
245 singular: nume singular
249 inherits: inherits from
250 1: caracterele < si > sunt active global!
253 4: -- este procesat din nou
263 destination: destination
269 \startmessages french library: setup
280 identifier: identificateur
283 singular: nom singulier
288 1: les caractères < et > sont globalement actifs !
290 3: -- n'est pas défini
291 4: -- est traité de nouveau
301 destination: destination
307 \def\c!setup!internal!
#1%
308 {{\dogetmessage{setup
}{#1}%
309 \expanded{\setupintfont{\currentmessagetext}}}}
311 \def\c!setup!text!
#1%
312 {{\dogetmessage{setup
}{#1}%
313 \setupvarfont{\currentmessagetext}}}
315 \def\c!setup!command!
#1%
316 {{\setupvarfont{\texescape...
#1}}}
330 [\c!command=\@@stpcommand,
331 \c!criterium=\@@stpcriterium
]
339 [\c!command=\@@stpcommand,
355 \def\setup {\shortsetupfalse\dosetup}
356 \def\shortsetup{\shortsetuptrue \dosetup}
357 \def\setupsetup{\dodoubleargument\getparameters[\??stp
]}
363 % \c!criterium=\v!used]
369 \c!criterium=
\v!used,
372 % verwijzing: 0 geen verwijzingen plaatsen / wel genereren
373 % 1 alleen bij zie plaatsen / wel genereren
374 % 2 alle verwijzingen plaatsen / niet genereren
375 % 3 bij zie commando klikken / wel genereren
382 \getvalue{\e!place
\e!listof texcommands
}
385 \def\placeeverysetup % for fun purposes only
387 \setupsetup[\c!reference=
2]%
388 \setupreferencing[\c!state=
\v!stop
]%
389 \getvalue{\e!place
\e!listof alltexcommands
}%
392 \let\plaatssetup \placesetup
393 \let\plaatselkesetup\placeeverysetup
395 % we use :1 as fallback
397 % \setup{setupinterlinespace}
398 % \setup{setupinterlinespace:1}
399 % \setup{setupinterlinespace:2}
401 \bgroup \catcode`\<=
\active
408 % \doifelseXMLelement{stp:\ascii}
409 % {\expanded{\flushXMLelement{stp:\ascii}}}
410 % {\doifelseXMLelement{stp:\ascii:1}
411 % {\expanded{\flushXMLelement{stp:\ascii:1}}}
412 % {\convertargument#1\to\ascii
413 % \em unknown setup \quote{\ascii}}}
417 {\dosingleempty\dodosetup}
419 \gdef\dodosetup[#1]#2%
421 \getparameters[\??stp
][#1]
422 \def<<#
#1>>
{#
#1}% VZ: seems does not operate! (\shortsetup{start<<name>>makeup})
424 % \pagereference[pgref:stp:\ascii]% VZ new
426 \doifelseXMLelement{stp:
\ascii}
427 {\expanded{\flushXMLelement{stp:
\ascii}}%
428 \setbox\scratchbox\hbox{\csname stp:y:
\ascii\endcsname}% VZ (for index generation)
430 {\doifelseXMLelement{stp:
\ascii:
1}
431 {\expanded{\flushXMLelement{stp:
\ascii:
1}}%
432 \setbox\scratchbox\hbox{\csname stp:y:
\ascii:
1\endcsname}% VZ
434 {\convertargument#2\to\ascii
435 \em unknown setup
\quote{\ascii}}}
438 %% VZ 2006-12-04: for putting to index but without printing here
440 {\dosingleempty\dosecretsetup}
442 \gdef\dosecretsetup[#1]#2%
444 \getparameters[\??stp
][#1]
445 \def<<#
#1>>
{#
#1}% VZ: seems does not operate! (\shortsetup{start<<name>>makeup})
447 % \pagereference[pgref:stp:\ascii]% VZ new
449 \doifelseXMLelement{stp:
\ascii}
451 \setbox\scratchbox\hbox{\csname stp:y:
\ascii\endcsname}% VZ (for index generation)
453 {\doifelseXMLelement{stp:
\ascii:
1}
455 \setbox\scratchbox\hbox{\csname stp:y:
\ascii:
1\endcsname}% VZ
457 {\convertargument#2\to\ascii
458 \em unknown setup
\quote{\ascii}}}
463 \defineXMLenvironment [cd:command
] [name=,type=,generated=,interactive=,variant=
]
467 %\def\showSETUPrecord
468 % {\getvalue{\e!start setuptext}
472 % \startXMLmapping [one]
473 % \doglobal\newcounter\currentSETUPargument
474 % \global\let\maximumSETUPargument\currentSETUPargument
476 % \doifXMLop{generated}{yes}{\ttsl}%
477 % \doifelseXMLop{type}{environment}
478 % {\tex{\e!start}}{\tex{}}\ignorespaces
479 % \XMLflush{cd:sequence}\ignorespaces
481 % \doifelseXMLempty{cd:arguments}
484 % \setbox0=\hbox{\XMLflush{cd:arguments}}%
485 % \global\let\maximumSETUPargument\currentSETUPargument
486 % \doglobal\newcounter\currentSETUPargument
487 % \ignorespaces\XMLflush{cd:arguments}%
488 % \doif{\XMLpar{cd:command}{type}{}}{environment}
489 % {\hskip.5em\unknown\hskip.5em
490 % \tex{\e!stop}\ignorespaces\XMLflush{cd:sequence}}%
495 % % \doif{\XMLpar{cd:command}{interactive}{}}{yes} {\quad INTERACTIVE}%
496 % % \doif{\XMLpar{cd:command}{interactive}{}}{exclusive}{\quad INTERACTIVE ONLY}%
498 % \startXMLmapping [two]
500 % \doglobal\newcounter\currentSETUPargument
502 % \switchtobodyfont[small] % kan sneller
503 % \ignorespaces\XMLflush{cd:arguments}\endgraf
507 % \getvalue{\e!stop setuptext}}
510 {\getvalue{\e!start setuptext
}
514 \startXMLmapping [one
]
515 \doglobal\newcounter\currentSETUPargument
516 \global\let\maximumSETUPargument\currentSETUPargument
518 \doifXMLop{generated
}{yes
}
522 \doifelseXMLop{type
}{environment
}
529 {\ignorespaces\XMLflush{cd:sequence
}}%
532 % \doifelseXMLempty{cd:arguments}% VZ: Why??? it spoils \startA...\stopA
535 \setbox0=
\hbox{\XMLflush{cd:arguments
}}%
536 \global\let\maximumSETUPargument\currentSETUPargument
537 \doglobal\newcounter\currentSETUPargument
538 \ignorespaces\XMLflush{cd:arguments
}%
539 \doif{\XMLpar{cd:command
}{type
}{}}{environment
}
540 {\hskip.5em
\unknown\hskip.5em
541 \doifXMLop{generated
}{yes
} % VZ
545 {\tex{\e!stop
}}\ignorespaces
549 {\ignorespaces\XMLflush{cd:sequence
}}}%
553 % \doiftextelse{\@@stptext}%
555 % {\ignorespaces\XMLflush{cd:sequence}}%
557 % \at[pgref:stp:\tmp]%
563 % \doif{\XMLpar{cd:command}{interactive}{}}{yes} {\quad INTERACTIVE}%
564 % \doif{\XMLpar{cd:command}{interactive}{}}{exclusive}{\quad INTERACTIVE ONLY}%
566 \startXMLmapping [two
]
568 \doglobal\newcounter\currentSETUPargument
570 \switchtobodyfont[small
] % kan sneller
571 \ignorespaces\XMLflush{cd:arguments
}\endgraf
575 \getvalue{\e!stop setuptext
}}
577 \defineXMLenvironmentsave [cd:sequence
] \ignorespaces \ignorespaces
578 \defineXMLenvironmentsave [cd:arguments
] \ignorespaces \ignorespaces
580 % VZ here! + setXvalue!
581 \defineXMLenvironmentsave [cd:define
] [name=
]
583 {\setxvalue{cd:def:
\XMLop{name
}}{\XMLflush{cd:define
}}}
585 %D This is the first pass; here we generate the top line.
587 \newcounter\currentSETUPargument
588 \def\currentSETUPwidth{0pt
}
592 \startXMLmapping [one
]
594 \defineXMLenvironmentsave [cd:string
] [value=
]
595 {\getinterfacecomponent{string
}{\XMLop{value
}}\ignorespaces}
598 \defineXMLenvironmentsave [cd:variable
] [value=
]
599 % {{\expanded{\setupintfont{\getinterfacecomponent{variable}{\XMLop{value}}}}}\ignorespaces}
600 {{\expanded{\setupvarfont{\getinterfacecomponent{variable
}{\XMLop{value
}}}}}\ignorespaces}% VZ
603 % moet een standaard type worden
605 \defineXMLenvironmentsave [cd:assignments
] [list=,state=
]
606 {\showSETUPassignment\ignorespaces} {\ignorespaces}
608 \defineXMLenvironmentsave [cd:keywords
] [list=,state=
]
609 {\showSETUPkeyword\ignorespaces} {\ignorespaces}
611 \defineXMLenvironmentsave [cd:content
] [list=,state=
]
612 {\showSETUPcontent\ignorespaces} {\ignorespaces}
614 \defineXMLenvironmentsave [cd:displaymath
] [list=,state=
]
615 {\showSETUPdisplaymath\ignorespaces} {\ignorespaces}
617 \defineXMLenvironmentsave [cd:index
] [list=,state=
]
618 {\showSETUPindex\ignorespaces} {\ignorespaces}
620 \defineXMLenvironmentsave [cd:math
] [list=,state=
]
621 {\showSETUPmath\ignorespaces} {\ignorespaces}
623 \defineXMLenvironmentsave [cd:nothing
] [list=,state=
]
624 {\showSETUPnothing\ignorespaces} {\ignorespaces}
626 \defineXMLenvironmentsave [cd:file
] [list=,state=
]
627 {\showSETUPfile\ignorespaces} {\ignorespaces}
629 \defineXMLenvironmentsave [cd:position
] [list=,state=
]
630 {\showSETUPposition\ignorespaces} {\ignorespaces}
632 \defineXMLenvironmentsave [cd:reference
] [list=,state=
]
633 {\showSETUPreference\ignorespaces} {\ignorespaces}
635 \defineXMLenvironmentsave [cd:csname
] [list=,state=
]
636 {\showSETUPcsname\ignorespaces} {\ignorespaces}
638 \defineXMLenvironmentsave [cd:destination
] [list=,state=
]
639 {\showSETUPdestination\ignorespaces} {\ignorespaces}
641 \defineXMLenvironmentsave [cd:triplet
] [list=,state=
]
642 {\showSETUPtriplet\ignorespaces} {\ignorespaces}
644 \defineXMLenvironmentsave [cd:word
] [list=,state=
]
645 {\showSETUPword\ignorespaces} {\ignorespaces}
649 %D This is the second pass; here we generate the table.
651 \startXMLmapping [two
]
653 \def\startfirstSETUPcolumn#1%
655 \advance\leftskip 2em
656 \noindent\llap{\hbox to
2em
{#1\hss}}}
658 \def\stopfirstSETUPcolumn
662 \def\startsecondSETUPcolumn#1#2%
664 \advance\hangindent \currentSETUPwidth
665 \advance\hangindent 2.5em
666 \noindent \hbox to
\hangindent{#1\hss\hbox to
2.5em
{\hss#2\hss}}}
668 \def\stopsecondSETUPcolumn
672 \def\secondSETUPcolumn#1#2%
673 {\startsecondSETUPcolumn{#1}{#2}\stopsecondSETUPcolumn}
675 \def\previousSETUPargument{\currentSETUPargument}
678 %\defineXMLenvironmentsave [cd:define] [name=]
680 % {\setevalue{cd:def:\XMLop{name}}{\XMLflush{cd:define}}}
682 \defineXMLsingular [cd:resolve
] [name=
]
683 {\getvalue{cd:def:
\XMLop{name
}}}
685 \defineXMLenvironmentsave [cd:assignments
]
687 {\xdef\currentSETUPwidth{0pt
}%
689 \defineXMLenvironment [cd:parameter
] [name=
]
690 {\setbox0=
\hbox{\potentialXMLentity{\getinterfacecomponent{constant
}{\XMLop{name
}}}}%
691 \ifdim\wd0>
\currentSETUPwidth\xdef\currentSETUPwidth{\the\wd0}\fi}%
693 \setbox0=
\vbox{\XMLflush{cd:assignments
}}%
695 \startfirstSETUPcolumn{\showSETUPnumber}%
696 \doifelseXMLempty{cd:assignments
}
697 {\secondSETUPcolumn{\c!setup!text!
{see
} \previousSETUPargument}{}}
699 \XMLflush{cd:assignments
}%
700 \let\previousSETUPargument\currentSETUPargument}%
701 \stopfirstSETUPcolumn
705 \defineXMLenvironmentsave [cd:keywords
]
707 {\startfirstSETUPcolumn{\showSETUPnumber}%
708 \doifelseXMLempty{cd:keywords
}
709 {\secondSETUPcolumn{see
\previousSETUPargument}{}}
711 \XMLflush{cd:keywords
}%
712 \let\previousSETUPargument\currentSETUPargument}%
713 \stopfirstSETUPcolumn
717 \defineXMLenvironment [cd:parameter
] [name=
]
718 {\startsecondSETUPcolumn{\potentialXMLentity{\getinterfacecomponent{constant
}{\XMLop{name
}}}}{=
}%
720 {\stopsecondSETUPcolumn
723 \defineXMLenvironmentsave [cd:constant
] [type=,default=
]
724 {\doifXMLop{default
}{yes
}{\underbar}%
725 {\potentialXMLentity{\getinterfacecomponent{variable
}{\XMLop{type
}}}}\quad\ignorespaces}
728 \defineXMLenvironmentsave [cd:variable
] [type=
]
729 {\potentialXMLentity{\getinterfacecomponent{variable
}{\XMLop{type
}}}\quad\ignorespaces}
732 \defineXMLenvironmentsave [cd:inherit
] [name=
]
733 {\secondSETUPcolumn{\c!setup!text!
{inherits
} \tex{}\getinterfacecomponent{string
}{\XMLop{name
}}}{}\ignorespaces}
736 \def\simpleSETUPargument#1%
737 {\startfirstSETUPcolumn{\showSETUPnumber}%
738 \c!setup!internal!
{#1}%
739 \stopfirstSETUPcolumn}
741 \defineXMLenvironmentsave [cd:content
] [list=,state=
]
742 {\simpleSETUPargument{content
}\blank[\v!halfline
]\ignorespaces}
745 \defineXMLenvironmentsave [cd:displaymath
] [list=,state=
]
746 {\simpleSETUPargument{display math
}\blank[\v!halfline
]\ignorespaces}
749 \defineXMLenvironmentsave [cd:index
] [list=,state=
]
750 {\simpleSETUPargument{index
}\blank[\v!halfline
]\ignorespaces}
753 \defineXMLenvironmentsave [cd:math
] [list=,state=
]
754 {\simpleSETUPargument{math
}\blank[\v!halfline
]\ignorespaces}
757 \defineXMLenvironmentsave [cd:nothing
] [list=,state=
]
758 {\simpleSETUPargument{nothing
}\blank[\v!halfline
]\ignorespaces}
761 \defineXMLenvironmentsave [cd:file
] [list=,state=
]
762 {\simpleSETUPargument{file name
}\blank[\v!halfline
]\ignorespaces}
765 \defineXMLenvironmentsave [cd:position
] [list=,state=
]
766 {\simpleSETUPargument{position
}\blank[\v!halfline
]\ignorespaces}
769 \defineXMLenvironmentsave [cd:reference
] [list=,state=
]
770 {\simpleSETUPargument{reference
}\blank[\v!halfline
]\ignorespaces}
773 \defineXMLenvironmentsave [cd:csname
] [list=,state=
]
774 {\simpleSETUPargument{csname
}\blank[\v!halfline
]\ignorespaces}
777 \defineXMLenvironmentsave [cd:destination
] [list=,state=
]
778 {\simpleSETUPargument{destination
}\blank[\v!halfline
]\ignorespaces}
781 \defineXMLenvironmentsave [cd:triplet
] [list=,state=
]
782 {\simpleSETUPargument{triplet
}\blank[\v!halfline
]\ignorespaces}
785 \defineXMLenvironmentsave [cd:word
] [list=,state=
]
786 {\simpleSETUPargument{word
}\blank[\v!halfline
]\ignorespaces}
791 \defineXMLentity [cd:command
] {\c!setup!internal!
{command
}}
792 \defineXMLentity [cd:dimension
] {\c!setup!internal!
{dimension
}}
793 \defineXMLentity [cd:file
] {\c!setup!internal!
{file
}}
794 \defineXMLentity [cd:name
] {\c!setup!internal!
{identifier
}}
795 \defineXMLentity [cd:character
] {\c!setup!internal!
{character
}}
796 \defineXMLentity [cd:mark
] {\c!setup!internal!
{mark
}}
797 \defineXMLentity [cd:number
] {\c!setup!internal!
{number
}}
798 \defineXMLentity [cd:reference
] {\c!setup!internal!
{reference
}}
799 \defineXMLentity [cd:plural
] {\c!setup!internal!
{plural
}}
800 \defineXMLentity [cd:singular
] {\c!setup!internal!
{singular
}}
801 \defineXMLentity [cd:text
] {\c!setup!internal!
{text
}}
802 \defineXMLentity [cd:formula
] {\c!setup!internal!
{formula
}}
803 \defineXMLentity [cd:file
] {\c!setup!internal!
{file
}}
804 \defineXMLentity [cd:matrix
] {\c!setup!internal!
{matrix
}}
805 \defineXMLentity [cd:list
] {\c!setup!internal!
{list
}}
806 \defineXMLentity [cd:section
] {\c!setup!internal!
{section
}}
808 \defineXMLentity [cd:noargument
] {\c!setup!command!
{}}
809 \defineXMLentity [cd:oneargument
] {\c!setup!command!
{\
#1}}
810 \defineXMLentity [cd:twoarguments
] {\c!setup!command!
{\
#1\
#2}}
811 \defineXMLentity [cd:threearguments
] {\c!setup!command!
{\
#1\
#2\
#3}}
815 \defineXMLprocess [cd:choice
]
819 \setuplabeltext[en
][optional=optional
] % VZ ??? language or
820 \setuplabeltext[cz
][optional=voliteln
\eacute{}] % interface
822 \unexpanded\def\showSETUP#1#2%
824 \doglobal\increment\currentSETUPargument
826 {\doifelseXMLop{list
}{yes
}{#2}{#1}}%
827 \setbox2=
\hbox to
\wd0
830 {\tx\ifcase\maximumSETUPargument\relax
831 \or*
\else\currentSETUPargument
834 \setbox4=
\hbox to
\wd0
838 \txx\doifXMLop{optional
}{yes
}{\c!setup!internal!
{optional
}}%
839 % \txx\doifXMLop{optional}{yes}{\labeltext{optional}}% VZ ???
844 \hskip.5em
\hsmash{\box0}\hsmash{\box4}\box2%
848 {\doglobal\increment\currentSETUPargument
850 {\ifcase\maximumSETUPargument\relax
851 \or*
\else\currentSETUPargument
855 \def\showSETUPassignment {\showSETUP
856 {[.
\lower.5ex
\hbox{=
}.
]}
857 {[..,.
\lower.5ex
\hbox{=
}.,..
]}}
859 \def\showSETUPkeyword {\showSETUP
863 \def\showSETUPargument {\showSETUP
864 {\leftargument..
\rightargument}
865 {\leftargument..,...,..
\rightargument}}
867 \def\showSETUPdisplaymath {\showSETUP
871 \def\showSETUPindex {\showSETUP
872 {\leftargument...
\rightargument}
873 {\leftargument..+...+..
\rightargument}}
875 \def\showSETUPmath {\showSETUP
879 \def\showSETUPnothing {\showSETUP
883 \def\showSETUPfile {\showSETUP
887 \def\showSETUPposition {\showSETUP
891 \def\showSETUPreference {\showSETUP
895 \def\showSETUPcsname {\showSETUP
896 {{\c!setup!command!
{}}}
899 \def\showSETUPdestination {\showSETUP
900 {[\leftargument..
[ref
]\rightargument]}
901 {[..,
\leftargument..
[ref,..
]\rightargument,..
]}}
903 \def\showSETUPtriplet {\showSETUP
907 \def\showSETUPword {\showSETUP
908 {\leftargument...
\rightargument}
909 {\leftargument.. ... ..
\rightargument}}
911 \def\showSETUPcontent {\showSETUP
912 {\leftargument...
\rightargument}
913 {\leftargument.. ... ..
\rightargument}}
915 %\def\c!par!{\c!setup!internal!{endofpar}}
916 %\def\c!repeat!{\c!opt!{{\setupvarfont n}*}}
917 %\showSETUP\def\c!par!{\texescape par}
918 %\showSETUP\def\c!sep!{\texescape\texescape}
919 %\def\c!par!{\addtypespec{delimiter}{par}} % \par
920 %\def\c!sep!{\addtypespec{separator}{backslash}} % \\
922 %\def\c!tex!#1{\addtypespec{command}{#1}\doanother{tex}}
924 \startXMLmapping[zero
]
926 %\defineXMLenvironmentsave [cd:command] [name=,type=,generated=,interactive=,variant=]
928 % {\doifelseXMLop{type}{environment}
929 % {\edef\currentSETUPname{start\getinterfacecomponent{string}{\XMLop{name}}}}
930 % {\edef\currentSETUPname{\getinterfacecomponent{string}{\XMLop{name}}}}%
931 % \doifsomething{\XMLop{variant}}
932 % {\edef\currentSETUPname{\currentSETUPname:\XMLop{variant}}}% like setupinterlinespace:1
933 % \doifXMLop{generated}{yes}
934 % {\edef\currentSETUPname{\currentSETUPname*}}%
935 % \doglobal\saveXMLdatainelement{stp:\currentSETUPname}{cd:command}{cd:command}%
936 % \expanded{\eachtexcommand[stp:x:\currentSETUPname]{\currentSETUPname}}%
937 % \expanded{\texcommand [stp:y:\currentSETUPname]{\currentSETUPname}}}
939 \defineXMLenvironmentsave [cd:command
] [name=,type=,generated=,interactive=,variant=
]
941 {\doifelseXMLop{type
}{environment
}
942 {\edef\currentSETUPname{\e!start
\getinterfacecomponent{string
}{\XMLop{name
}}}}
943 {\edef\currentSETUPname{\getinterfacecomponent{string
}{\XMLop{name
}}}}%
944 \doifsomething{\XMLop{variant
}}
945 {\edef\currentSETUPname{\currentSETUPname:
\XMLop{variant
}}}% like setupinterlinespace:1
946 \doifXMLop{generated
}{yes
}
947 {\edef\currentSETUPname{\currentSETUPname}}%
948 \doglobal\saveXMLdatainelement{stp:
\currentSETUPname}{cd:command
}{cd:command
}%
949 \expanded{\eachtexcommand[stp:x:
\currentSETUPname]{\currentSETUPname}}%
950 \expanded{\texcommand [stp:y:
\currentSETUPname]{\currentSETUPname}}}
954 \def\loadsetups{\complexorsimple\loadsetups}
956 \def\simpleloadsetups
957 {\doifnotmode{no-setup-main
}
958 {\complexloadsetups[cont-en.xml
]}}
960 \def\complexloadsetups[#1]%
961 {\doifnotmode{no-setup-all
}
963 {\startXMLmapping[zero
]
964 \expanded{\processXMLfilegrouped{#1}}%
967 \defineXMLsingular [cd:include
] [file=
]
968 {\complexloadsetups[\XMLop{file
}]}