Dove posso trovare un'introduzione alla programmazione in Expl3?

Aug 16 2020

C'è un'introduzione alla programmazione in Expl3? vidihttp://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3kernel/expl3.pdf ma non discute le strutture di controllo (per esempio, sostituisce ifthen package?) né ha alcun esempio.

In una nota più specifica, ifthen i comandi del pacchetto non funzionano all'interno di un codice tikz, e speravo che Expl3 potesse rimediare.

Questa domanda generale è stata posta in passato, ma risale a 9 anni fa, quindi forse c'è una risposta migliore ora? Dove posso trovare il manuale LaTeX3?

Risposte

14 HenriMenke Aug 16 2020 at 08:54

La tua domanda è un miscuglio minaccioso di molteplici idee sbagliate su Expl3.

Prima di tutto, il expl3.pdfdocumento è il documento di progettazione di expl3cui spiega la logica alla base dell'architettura e come usarla. In virtù della sua finalità expl3.pdfovviamente non si discute delle strutture di controllo, che è compito del manuale di riferimento interface3.pdf.

Successivamente, expl3non sostituisce il ifthenpacchetto, proprio come le mele non sostituiscono le arance. Sono approcci complementari allo stesso problema. Pertanto non dovrebbero nemmeno essere mescolati a meno che non si comprendano le implicazioni.

Infine dovresti evitare di mescolare il codice Ti k Z e expl3, sempre a causa di scontri nella filosofia di progettazione. Un famigerato problema nel mondo TeX è il problema dello "spazio spurio", che si expl3risolve ignorando tutti gli spazi bianchi all'interno \ExplSyntaxOn...Off. Tuttavia, questo è incompatibile con qualsiasi altro codice che si pgfkeysbasi sull'esistenza di spazi bianchi, come quelli che costituiscono i fondamenti di Ti k Z. Tuttavia è possibile far funzionare i due insieme ragionevolmente bene, ma ciò richiede all'utente di scrivere wrapper appropriati che uniscono il mondo senza spazio e il mondo spazioso.