Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-sfcfile "zhas.tex") % (find-sfcfile "zhas.lua") % (defun c () (interactive) (find-sh "lualatex zhas.tex")) % (defun d () (interactive) (find-xpdfpage "zhas.pdf")) % (find-xpdfpage "zhas.pdf") \documentclass[oneside]{book} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{tikz} \usepackage{luacode} \begin{document} \tikzset{outer/.style=gray,very thin} \tikzset{cut/.style=very thick} \def\bsk{\bigskip} \def\msk{\medskip} \def\ssk{\smallskip} % (find-dn4ex "edrx08.sty" "colors") \definecolor{orange}{rgb}{1,.64,0} \def\blue #1{{\color{blue}#1}} \def\red #1{{\color{red}#1}} \def\orange#1{{\color{orange}#1}} \def\yellow#1{{\color{yellow}#1}} \def\smashedvrule#1#2#3{\vrule width#1 height#2 depth#3 \kern-#1} \def\bicolorhbox#1{{% \setbox0\hbox{#1}% \yellow{\smashedvrule{\wd0}{\ht0}{0pt}}% \orange{\smashedvrule{\wd0}{0pt}{\dp0}}% \box0% }} % (find-dn4ex "edrx08.sty" "dags") \newdimen\mypictureunit \setbox0=\hbox{\rm0} \mypictureunit=.085\wd0 \mypictureunit=.084\wd0 % \def\dagput(#1,#2)#3{\put(#1,#2){\hbox to 0pt{\hss\scriptsize#3\hss}}} \def\dagpicture(#1,#2)(#3,#4)[#5]#6{{% %\unitlength=.1ex% %\setbox0\hbox{x}\unitlength=.1\wd0% %\setbox0\hbox{x}\unitlength=.095\wd0% %\setbox0\hbox{x}\unitlength=.090\wd0% \unitlength=\mypictureunit \lower #5\unitlength\hbox{% \begin{picture}(#1,#2)(#3,#4) #6 \end{picture}% }}} \def\bdagpicture(#1,#2)(#3,#4)[#5]#6{{% \bicolorhbox{\dagpicture(#1,#2)(#3,#4)[#5]{#6}}% }} \def\dagHouse#1#2#3#4#5{% \bdagpicture(20,36)(-10,-24)[12]{ \dagput( 0, 0){$#1$} % top \dagput(-6,-12){$#2$} % second line, left \dagput( 6,-12){$#3$} % second line, right \dagput(-6,-24){$#4$} % third line, left \dagput( 6,-24){$#5$} % third line, right }} \def\dagFoo#1#2#3#4#5{% \dagpicture(20,36)(-10,-24)[12]{ \dagput( 0, 0){$#1$} % top \dagput(-6,-12){$#2$} % second line, left \dagput( 6,-12){$#3$} % second line, right \dagput(-6,-24){$#4$} % third line, left \dagput( 6,-24){$#5$} % third line, right }} $\dagHouse abcde$ 1: $\bdagpicture(12,12)(12,12)[0]{\dagput(0, 0){a}}$ 2: $\bdagpicture(12,12)(12,0)[0]{\dagput(0, 0){a}}$ 3: $\bdagpicture(12,12)(0,0)[0]{\dagput(0, 0){a}}$ 4: $\bdagpicture(12,12)(-6,0)[0]{\dagput(0, 0){a}}$ 5: $\bdagpicture(12,12)(-6,0)[0]{\dagput(0, 0){a} \dagput(12, 0){b} \dagput(6, 6){c}}$ 6: $\bdagpicture(12,12)(-6,0)[0]{\dagput(0, 0){1} \dagput(14, 0){2} \dagput(7, 7){3}}$ 7: $\bdagpicture(26,18)(-7,0)[0]{\dagput(0, 0){1} \dagput(14, 0){2} \dagput(7, 7){3}}$ 8: $\bdagpicture(26,18)(-6,0)[0]{\dagput(0, 0){1} \dagput(14, 0){2} \dagput(7, 7){3}}$ 9: $\bdagpicture(19,18)(-6,0)[0]{\dagput(0, 0){1} \dagput(14, 0){2} \dagput(7, 7){3}}$ a: $\bdagpicture(19,18)(-6,0)[6]{\dagput(0, 0){1} \dagput(14, 0){2} \dagput(7, 7){3}}$ % (find-es "tikz" "luacode") % (find-es "luatex" "luacode") \begin{luacode*} dagpictureheader0 = function (maxx, maxy, lower) local sh = 7*maxx + 12 local sv = 7*maxy + 12 local dh = -6 local dv = 0 local lv = (lower or 0)* 7 return format("(%d,%d)(%d,%d)[%3.1f]", sh, sv, dh, dv, lv) end bdagpictureheader = function (maxx, maxy, lower) return "\\bdagpicture"..dagpictureheader0(maxx, maxy, lower) end dc = function (x, y) local h = 7*x local v = 7*y return format("(%d,%d)", h, v) end dagputheader = function (x, y) return format("\\dagput(%d,%d)", 7*x, 7*y) end \end{luacode*} % (find-es "luatex" "LUA_INIT") % (find-angg "sheavesforchildren/zhas.lua") \directlua{ dofile(os.getenv("LUA_INIT"):sub(2)) dofile "zhas.lua" } \def\luaexpr#1{\directlua{tex.print(#1)}} \def\uv(#1,#2){\luaexpr {pcomma(xyfromuv(#1, #2))}} Hello bdagpicture\luaexpr{dagpictureheader0(2,3)} dagput\luaexpr{dc(1,3)} 1 dagput\luaexpr{dc(0,2)} 2 dagput\luaexpr{dc(2,2)} 3 dagput\luaexpr{dc(1,1)} 4 dagput\luaexpr{dc(0,0)} 5 $ \bdagpicture(26,33)(-6,0)[0.0]{ } $ % $ % \expandafter\bdagpicture\luaexpr{dagpictureheader0(2,3)}{ % \dagput\luaexpr{dc(1,3)}{1} % \dagput\luaexpr{dc(0,2)}{2} % \dagput\luaexpr{dc(2,2)}{3} % \dagput\luaexpr{dc(1,1)}{4} % \dagput\luaexpr{dc(0,0)}{5} % } % $ \catcode`*=13 \def*{\ensuremath{\bullet}} a% $ \luaexpr{bdagpictureheader(2,3,1)}{ \luaexpr{dagputheader(1,3)}{1} \luaexpr{dagputheader(0,2)}{2} \luaexpr{dagputheader(2,2)}{3} \luaexpr{dagputheader(1,1)}{4} \luaexpr{dagputheader(0,0)}{5} } $% b % \dagput\luaexpr{dc(1,3)}{1} % \dagput\luaexpr{dc(0,2)}{2} % \dagput\luaexpr{dc(2,2)}{3} % \dagput\luaexpr{dc(1,1)}{4} % \dagput\luaexpr{dc(0,0)}{5} % } % $ \end{document} -- (find-dn4ex "edrx08.sty" "dags") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dagpictureheader0 = function (maxx, maxy, lower) local sh = 7*maxx + 12 local sv = 7*maxy + 12 local dh = -6 local dv = 0 local lv = (lower or 0)* 7 return format("(%d,%d)(%d,%d)[%3.1f]", sh, sv, dh, dv, lv) end = dagpictureheader0(0, 0) = dagpictureheader0(1, 0) = dagpictureheader0(1, 1) % Local Variables: % coding: raw-text-unix % ee-anchor-format: "«%s»" % End: