[cstex] aktualizovane Prvni setkani s TeXem

Petr Olsak petr at olsak.net
Mon Aug 22 15:03:13 CEST 2022


On 8/22/22 14:31, Vítek Novotný wrote:
> Mohu popsat, co dělá první ukázka kódu:
>
>> \tl_new:N
>>    \l_@@_extent_tl

...

Ukázka toho prvního kódu

         \tl_new:N
           \l_@@_extent_tl
         \cs_new:Nn
           \@@_normalize_extent:n
           {
             \tl_set:Nn
               \l_@@_extent_tl
               { #1 }
             \tl_trim_spaces:N
               \l_@@_extent_tl
             \regex_replace_case_all:nN
               {
                 { ^ \s* / } {   0 / }
                 { / \s* / } { / 0 / }
                 { / \s* $ } { / 0   }
               }
               \l_@@_extent_tl
             \l_@@_extent_tl
           }

by se dala vyjádřit TeXovskou terminologií (po odmyšlení některých 
součástí názvu použitých řídicích sekvencí a za předpokladu, že catode 
podtržítka je 11) zhruba takto:

\newtoks \extent
\def \normalize_extent #1{%
    \extent={#1}%
    \trim_spaces \extent
    \regex_replace{{^\s*/}{0/} {/\s*/}{/0/0} {/\s*$}{/0}}\extent
    \the\extent
}

Každý může posoudit, co je mu srozumitelnější.

Zdravím

Petr Olšák





More information about the csTeX mailing list