% language=us \startenvironment examples-style-math \def\ExampleLanguages{\currentmainlanguage} \setupframedtext [result] [align=flushleft] %definefontfeature[fixedwidth][fixedwidth=0.30] %definefontfeature[fixedwidth][fixedwidth=0.28] \definefontfeature[fixedwidth][fixedwidth=0.27] % \definefontfallback % [MonoMathMath] % [dejavusansmono.ttf*fixedwidth] % [0x0400-0x600][rscale=.8] \definefontfallback [MonoMathMath] [cmuntt.otf*fixedwidth] [0x0400-0x600] \definefontfallback [MonoMathMath] [concrete-math.otf*fixedwidth] [0x0600-0x1FFFF] \definefontsynonym [MonoMathBase] [lmmono10-regular.otf*fixedwidth] [fallbacks=MonoMathMath] % \definefontfallback % [MonoTextMath] % [dejavusansmono.ttf*fixedwidth] % [0x0400-0x600][rscale=.8] \definefontfallback [MonoTextMath] [cmuntt.otf*fixedwidth] [0x0400-0x600] \definefontfallback [MonoTextMath] [concrete-math.otf] [0x0600-0x1FFFF] \definefontsynonym [MonoTextBase] [lmmono10-regular.otf] [fallbacks=MonoTextMath] \definefontsynonym [MonoMathBaseBold] [lmmonolt10-bold.otf*fixedwidth] [fallbacks=MonoMathMath] \definefont[MyMathFont] [MonoMathBase] \definefont[MyMathFontBold][MonoMathBaseBold] \definefont[MyTextFont] [MonoTextBase] \setuptyping [style=MyMathFont] % \setupmathematics[domain=default] \starttexdefinition protected ShowExampleMeaning #1 \begingroup \ifcstok{#1}\currentmainlanguage \darkblue \orelse\ifcstok{#1}{debug}% \darkgray \fi \getmathtextblob{#1}\currentmathblob \endgroup \blank[medium] \stoptexdefinition % \starttexdefinition protected StartExample % \begingroup % \obeylines % \doifnextcharelse[\StartExampleYES\StartExampleNOP % \stoptexdefinition % \starttexdefinition tolerant protected StartExampleYES[#1] % \doifelsemode {issues} { % \definecolor[issuecolor][darkred] % \doifelse {#1} {issue} { % \dostartbuffer[example][StartExample][StopExample] % } { % \endgroup % \gobbleuntil\StopExample % } % } { % \doif {#1} {issue} { % \definecolor[issuecolor][darkred] % } % \dostartbuffer[example][StartExample][StopExample] % } % \stoptexdefinition % \starttexdefinition tolerant protected StartExampleNOP % \doifelsemode {issues} { % \endgroup % \gobbleuntil\StopExample % } { % \dostartbuffer[example][StartExample][StopExample] % } % \stoptexdefinition \starttexdefinition protected StartExample \begingroup \begingroup \obeylines \doifnextcharelse[\StartExampleYES\StartExampleNOP \stoptexdefinition \starttexdefinition tolerant protected StartExampleYES[#1] \endgroup \doifelsemode {issues} { \definecolor[issuecolor][darkred] \doifelse {#1} {issue} { \dostartbuffer[example][StartExample][StopExample] } { \gobbleuntil\StopExample } } { \doif {#1} {issue} { \definecolor[issuecolor][darkred] } \dostartbuffer[example][StartExample][StopExample] } \stoptexdefinition \starttexdefinition tolerant protected StartExampleNOP \endgroup \doifelsemode {issues} { \endgroup \gobbleuntil\StopExample } { \dostartbuffer[example][StartExample][StopExample] } \stoptexdefinition \starttexdefinition protected StopExample \startresult[none][foregroundcolor=issuecolor] \getbuffer[example] \stopresult \vskip5mm \savemathexport[buffer=mmldata,xoption=ascii] \begingroup \MyTextFont \raggedright \processcommacommand[\ExampleLanguages]\ShowExampleMeaning \endgroup \begingroup \switchtobodyfont[6pt] % \switchtobodyfont[7pt] % \let\slxbold\relax \def\slxbold{\MyMathFontBold}% \typebuffer[example][option=TEX] \scratchcounterone\nofbufferlines{mmldata} \ifnum\scratchcounterone>\zerocount \scratchcountertwo\maxbufferwidth{mmldata} \scratchcounterthree\ctxlua{context( \number\textwidth//(\number\scratchcountertwo*\number\emwidth) )}\relax % columns needed \scratchcounterfour\ctxlua{context( \number\textheight//\number\pagetotal )}\relax % available \ifnum\scratchcounterthree=\zerocount \typebuffer[mmldata][option=XML,n=\the\currentmathblob]% \orelse\ifnum\scratchcounterone>\scratchcounterfour \startcolumns[n=\scratchcounterthree,balance=no] \typebuffer[mmldata][option=XML,n=\the\currentmathblob]% \stopcolumns \else \typebuffer[mmldata][option=XML,n=\the\currentmathblob]% \fi \fi \endgroup \endgroup \page \stoptexdefinition % Setting up math: % \setupnote[mathnote][location=page] % \enabletrackers[math.textblobs] \disabledirectives[structures.tags.shipout] \enabledirectives [structures.tags.math.standalone] % \disabledirectives[structures.tags.math.strip] \setuptagging [state=start] \definemathgroupset [demogroupset] [every] \setmathgroupset [demogroupset] % This depends on the math used: % \registermathfunction[𝑓] % \registermathfunction[𝑔] % \registermathsymbol[default][en][𝐮][the vector] % \registermathsymbol[default][en][𝐯][the vector] % \registermathsymbol[default][en][𝖠][the matrix] % \registermathsymbol[default][en][lowercasebold] [the vector] % [of] % \registermathsymbol[default][en][uppercasesansserifnormal][the matrix] % \registermathsymbol[default][sv][𝐮][vektorn] % \registermathsymbol[default][sv][𝐯][vektorn] % \registermathsymbol[default][sv][lowercasebold] [vektorn] % \registermathsymbol[default][sv][uppercasesansserifnormal][matrisen] % \registermathsymbol[default][en][𝒞][the continuous functions] % \registermathsymbol[default][sv][𝒞][de kontinuerliga funktionerna] % Take your choice: % \def\ExampleLanguages{en,sv} % \def\ExampleLanguages{debug,en,sv} % \def\ExampleLanguages{debug,en,sv,nl} % \enablemode[issues] % \enabletrackers[structures.tags.math.times] % \enabletrackers[structures.tags.math.keeplast=mmldata] % \enabletrackers[structures.tags.math.save] \stopenvironment