|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% This file:
% http://angg.twu.net/dednat5/tests/test2.tex.html
% http://angg.twu.net/dednat5/tests/test2.tex
% (find-dn5file "tests/test2.tex")
% Author: Eduardo Ochs <eduardoochs@gmail.com>
% Version: 2011apr22
% License: GPL3
%
% To compile this file and display the result I use this:
% (defun c () (interactive) (find-sh "make test2.veryclean && make test2.pdf"))
% (defun d () (interactive) (find-xpdfpage "~/dednat5/tests/test2.pdf"))
% See:
% (find-dn5 "tests/Makefile" "test1")
% http://angg.twu.net/dednat5/tests/test1.pdf
% «.metapost-head» (to "metapost-head")
% «.metapost-library» (to "metapost-library")
% «.metapost-diagram» (to "metapost-diagram")
\documentclass{article}
\usepackage{graphicx}
\input test2.dnt % (find-fline "test2.dnt")
\begin{document}
% «metapost-head» (to ".metapost-head")
%% (find-dn5 "diagforth.lua" "diag-head")
%L mplines = Stack {}
%L registerhead "%M" {
%L action = function ()
%L mplines:push(untabify(linestr):sub(4))
%L end,
%L }
%M % Produced by: (find-dn5 "tests/test2.tex")
%M outputtemplate := "test2/%3c.mps";
\def\mpdiag#1{\includegraphics[scale=1.0]{test2/#1.mps}}
%L endmp = function ()
%L writefile("test2.mp", table.concat(mplines, "\n").."\n")
%L end
%M % «metapost-library» (to ".metapost-library")
%M % (find-angg ".emacs.papers" "metapost")
%M % (find-angg "METAPOST/test1.mp")
%M % (find-angg "METAPOST/test1.tex")
%M def drawcircledot := addto currentpicture contour makepath pencircle enddef;
%M def drawpencircleat (expr s, p) := drawcircledot scaled s shifted p enddef;
%M def drawcdot expr p := drawpencircleat (3pt, p) enddef;
%M def drawbdot expr p := drawpencircleat (2pt, p) withcolor background enddef;
%M def drawodot expr p := drawcdot p; drawbdot p enddef;
%M
%M def startpoint expr p := point 0 of p enddef;
%M def endpoint expr p := point (length p) of p enddef;
%M def drawcc_ expr p := drawcdot (startpoint p); drawcdot (endpoint p) enddef;
%M def drawco_ expr p := drawcdot (startpoint p); drawodot (endpoint p) enddef;
%M def drawoc_ expr p := drawodot (startpoint p); drawcdot (endpoint p) enddef;
%M def drawoo_ expr p := drawodot (startpoint p); drawodot (endpoint p) enddef;
%M def drawcc expr p := draw p; drawcc_ p enddef;
%M def drawco expr p := draw p; drawco_ p enddef;
%M def drawoc expr p := draw p; drawoc_ p enddef;
%M def drawoo expr p := draw p; drawoo_ p enddef;
%M
%M u := 0.5cm;
%M
%M pen axispen;
%M pen tickpen;
%M axispen := pencircle scaled 1pt;
%M tickpen := pencircle scaled 1pt;
%M tickradius := 3pt;
%M def Xaxis(expr xl, xr) :=
%M drawarrow (xl*u, 0)--(xr*u, 0) withpen axispen;
%M for x = (ceiling xl) upto (floor xr):
%M draw (x*u, -tickradius)--(x*u, tickradius) withpen tickpen;
%M endfor
%M enddef;
%M def Yaxis(expr yd, yu) :=
%M drawarrow (0, yd*u)--(0, yu*u) withpen axispen;
%M for y = (ceiling yd) upto (floor yu):
%M draw (-tickradius, y*u)--(tickradius, y*u) withpen tickpen;
%M endfor
%M enddef;
%M
%M def WIDTH expr w := pickup pencircle scaled w enddef;
A diagram (using MetaPost):
%M % «metapost-diagram» (to ".metapost-diagram")
%M u := 0.5cm;
%M beginfig(1);
%M Xaxis(-2, 3);
%M Yaxis(-3, 4);
%M drawcdot (1u, 1u);
%M drawodot (2u, 1u);
%M drawodot (2u, 2u);
%M drawoc (0u,2u)--(2u,3u);
%M endfig;
$$\mpdiag{001}$$
%M end
%L endmp()
\end{document}
% Local Variables:
% coding: raw-text-unix
% ee-anchor-format: "«%s»"
% End: