Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% A minimal test file for Dednat6. % This file: http://angg.twu.net/dednat6/demo-minimal.tex.html % http://angg.twu.net/dednat6/demo-minimal.tex % (find-dednat6 "demo-minimal.tex") % Output: http://angg.twu.net/dednat6/demo-minimal.pdf % % See: http://angg.twu.net/dednat6.html % http://angg.twu.net/dednat6.html#quick-start % % % To compile (i.e., tex) this file, do this: % % lualatex demo-minimal.tex % % this makes TeX and Lua process this file "in parallel", or sort of. % Lua processes the trees and diagrams in 2D ascii art in comments % that are in the lines that start with "%:" or "%D", converts them to % TeX code, and sends that code to TeX. % % The section 3 ("3. Semi-preprocessors") of the TUGBoat article about % dednat6 explains what this "in parallel (or sort of)" means. The PDF % for the article is here: % % https://tug.org/TUGboat/tb39-3/tb123ochs-dednat.pdf % http://angg.twu.net/dednat6/2018tugboat-rev2.pdf % % Section 3 ends with this paragraph: % % `\pu' means "process until" - or, more precisely, _make dednat6 % process everything until this point that it hasn't processed yet_. % The first \pu [in the example] processes the lines 1--26 of % foo.tex, and "outputs" - i.e., sends to TeX - the first % \defded{my-tree}; the second \pu processes the lines 28--34 of % foo.tex, and `outputs' the second \defded{my-tree}. Thus, it is % not technically true that TeX and dednat6 process foo.tex in % parallel; dednat6 goes later, and each \pu is a synchronization % point. % % % This comment block contains some emacs/eev-isms. % You don't need to understand them. % See: (find-eev-quick-intro "7.4. Commands with very short names") % http://angg.twu.net/eev-intros/find-eev-quick-intro.html#7.4 % % (defun c () (interactive) (find-dednat6sh "lualatex -record demo-minimal.tex")) % (defun d () (interactive) (find-pdf-page "~/dednat6/demo-minimal.pdf")) % (defun e () (interactive) (find-dednat6 "demo-minimal.tex")) % (defun u () (interactive) (find-latex-upload-links "demo-minimal")) % (find-pdf-page "~/dednat6/demo-minimal.pdf") % http://angg.twu.net/dednat6/demo-minimal.pdf % \documentclass[oneside]{article} \usepackage{proof} % For derivation trees ("%:" lines) \input diagxy % For 2D diagrams ("%D" lines) \xyoption{curve} % For the ".curve=" feature in 2D diagrams \begin{document} \catcode`\^^J=10 % (find-es "luatex" "spurious-omega") \directlua{dofile "dednat6load.lua"} % (find-dednat6 "dednat6load.lua") \title{Dednat6: a minimal test file} \author{Eduardo Ochs} \maketitle Some trees: % %L addabbrevs("->", "\\to ") % %: [x]^1 f [a]^1 a->b H %: -------- ----------- ... %: f(x) g b b->c A B C E F \Pi %: -------- ------------ =======r ::::\phi ... %: g(f(x)) c D G I %: ----------1 ----1 ------------------- %: λx.g(f(x)) a->c J %: %: ^x.g(f(x)) ^x.g(f(x)).t ^bars %: \pu $$\ded{x.g(f(x))} \qquad \ded{x.g(f(x)).t} \qquad \ded{bars}$$ \def\catA{\mathbf{A}} \def\catB{\mathbf{B}} A diagram: % %D diagram adj %D 2Dx 100 +25 +25 +25 %D 2D 100 LA <--| A %D 2D | | %D 2D | <-> | %D 2D v v %D 2D +25 B |--> RB C --> D %D 2D %D 2D +15 \catB \catA %D 2D %D (( LA A <-| %D LA B -> A RB -> %D B RB |-> %D LA RB harrownodes nil 20 nil <-> %D \catB \catA <- sl^ .plabel= a L %D \catB \catA -> sl_ .plabel= b R %D %D C D -> .curve= ^10pt .plabel= a a %D C D -> .curve= _10pt .plabel= b b %D )) %D enddiagram %D $$\pu \diag{adj} $$ \end{document} % Local Variables: % coding: utf-8-unix % End: