Gdzie mogę znaleźć wprowadzenie do programowania w expl3?

Aug 16 2020

Czy jest wprowadzenie do programowania w expl3? widziałemhttp://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3kernel/expl3.pdf ale nie omawia struktur kontrolnych (na przykład czy zastępuje pakiet ifthen?), ani nie ma żadnych przykładów.

Mówiąc dokładniej, polecenia ifthen w pakiecie nie działają wewnątrz jakiegoś kodu tikz i miałem nadzieję, że expl3 może temu zaradzić.

To ogólne pytanie zadawano już wcześniej, ale było to 9 lat temu, więc może teraz jest lepsza odpowiedź? Gdzie mogę znaleźć instrukcję LaTeX3?

Odpowiedzi

14 HenriMenke Aug 16 2020 at 08:54

Twoje pytanie jest złowieszczą mieszaniną wielu błędnych przekonań na temat expl3.

Przede wszystkim expl3.pdfdokument jest dokumentem projektowym, w expl3którym wyjaśniono uzasadnienie architektury i sposób jej wykorzystania. Z racji swojego przeznaczenia expl3.pdfoczywiście nie omawia struktur sterowania, co jest zadaniem podręcznika interface3.pdf.

Z kolei expl3nie zastępuje ifthenopakowania, podobnie jak jabłka nie zastępują pomarańczy. Są to uzupełniające się podejścia do tego samego problemu. Dlatego też nie należy ich mieszać, chyba że rozumiesz konsekwencje.

Na koniec należy unikać mieszania kodu Ti k Z i expl3znowu ze względu na kolizje w filozofii projektowania. Jedną z notorycznych pułapek w świecie TeX-a jest problem „fałszywej przestrzeni”, który expl3rozwiązuje się ignorując wszystkie wewnętrzne spacje \ExplSyntaxOn...Off. Jest to jednak niekompatybilne z jakimkolwiek innym kodem, który opiera się na istnieniu białych znaków, na przykład pgfkeysktóry tworzy podstawy Ti k Z. Niemniej jednak możliwe jest sprawienie, aby oba współdziałały w miarę dobrze, ale wymaga to od użytkownika napisania odpowiednich opakowań które łączą się ze światem pozbawionym przestrzeni i pełnym przestrzeni.