summaryrefslogtreecommitdiff
path: root/tex/context/base/meta-tex.mkii
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
commit8d8d528d2ad52599f11250cfc567fea4f37f2a8b (patch)
tree94286bc131ef7d994f9432febaf03fe23d10eef8 /tex/context/base/meta-tex.mkii
parentf5aed2e51223c36c84c5f25a6cad238b2af59087 (diff)
downloadcontext-8d8d528d2ad52599f11250cfc567fea4f37f2a8b.tar.gz
2016-01-12 16:26:00
Diffstat (limited to 'tex/context/base/meta-tex.mkii')
-rw-r--r--tex/context/base/meta-tex.mkii350
1 files changed, 0 insertions, 350 deletions
diff --git a/tex/context/base/meta-tex.mkii b/tex/context/base/meta-tex.mkii
deleted file mode 100644
index ab0f24457..000000000
--- a/tex/context/base/meta-tex.mkii
+++ /dev/null
@@ -1,350 +0,0 @@
-%D \module
-%D [ file=meta-tex,
-%D version=2006.06.07,
-%D title=\CONTEXT\ Support Macros,
-%D subtitle=\METAPOST\ fast text insertion,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D Many thanks to Fabrice Popineau and Taco Hoekwater in helping me
-%D figure out some aspects of the text inclusion method implemented
-%D here. The following code is derived from a more advanced (and to
-%D be used) mechanism where \TEX, \METAPOST\ and \LUA\ play together.
-
-%D Much of this mechanism was written with running live DVD's of
-%D the Dave Matthews band in the background (or the corner of my
-%D screen).
-
-% todo: testmacro for empty pic
-
-\unprotect
-
-\newwrite\TeXtextwrite
-
-\def\openTeXtexts {\immediate\openout \TeXtextwrite\currentTeXtext.mpb\relax}
-\def\closeTeXtexts{\immediate\closeout\TeXtextwrite}
-
-\def\currentTeXtext {\jobname-mpgraph}
-\def\currentTeXstack{mpgtxt}
-
-\initializeboxstack\currentTeXstack
-
-\newtoks\collectedmptexts
-\newtoks\everyTeXtexts
-
-\chardef\TeXtextsmode\zerocount % no inheritance
-
-\long\def\startTeXtexts#1\stopTeXtexts
- {\global\collectedmptexts\expandafter{\the\collectedmptexts#1}}
-
-\def\dostartTeXtexts
- {\global\setfalse\TeXtextdone
- \startnointerference
- \openTeXtexts
- \ifcase\TeXtextsmode
- % normally there is no need for this (faster anyway)
- \or
- \scantokens\expandafter{\the\everyMPTEXgraphic}% brr
- \or
- \the\everyTeXtexts
- \fi
- \ifrunMPgraphics
- \initializeboxstack\currentTeXstack
- \else
- \global\let\openTeXtexts\relax
- \global\let\finishTeXtexts\closeTeXtexts
- \fi}
-
-\def\dostopTeXtexts
- {\ifrunMPgraphics
- \closeTeXtexts
- \fi
- \stopnointerference}
-
-\let\finishTeXtexts\relax
-
-\appendtoks
- \finishTeXtexts
-\to \everystoptext
-
-\newconditional\TeXtextdone
-
-% \long\def\TeXtext#1%
-% {\dowithnextboxcontent
-% {\setnormalcatcodes}
-% {\global\settrue\TeXtextdone
-% \immediate\write\TeXtextwrite{savetxt(#1,\the\wd\nextbox,\the\ht\nextbox,\the\dp\nextbox);}%
-% \savebox\currentTeXstack{#1}{\box\nextbox}}
-% \hbox}
-
-\long\def\TeXtext
- {\dosingleempty\doTeXtext}
-
-% currently, colors in the converter don't use the color stack
-%
-% 0 = nothing, withcolor works ok, but nested colors fail
-% 1 = local color stack ok
-% 2 = obey color stack (not yet supported)
-
-\chardef\TeXtextcolormode\plusone
-
-\def\definetextext[#1]#2{\setvalue{textext@@#1}{#2}}
-
-% \definetextext[framed]{\framed}
-%
-% \startMPcode
-% draw \sometxt[framed]{black} rotated 45 ;
-% \stopMPcode
-
-\long\def\doTeXtext[#1]#2#3%
- {\begingroup
- \setnormalcatcodes
- \chardef\activecharactermode\plusone % compensates ** in meta-ini.mkii
- \endlinechar\minusone
- \everyeof\emptytoks
- %\def\ascii{#3}\scantokens\expandafter{\ascii}}%
- \setbox\nextbox\hbox
- {\ifcase\TeXtextcolormode
- \scantokens{\executeifdefined{textext@@#1}\firstofoneargument{#3}}%
- \else
- \localcolortrue
- \startcurrentcolor
- \scantokens{\executeifdefined{textext@@#1}\firstofoneargument{#3}}%
- \stopcurrentcolor
- \fi}%
- \global\settrue\TeXtextdone
- \edef\currenttextxt{\number#2}%
- \executeifdefined{textext::#1}{\getvalue{textext::depth}}%
- \savebox\currentTeXstack\currenttextxt{\box\nextbox}%
- \endgroup}
-
-\setvalue{textext::depth}{\immediate\write\TeXtextwrite{savetxt(\currenttextxt,\the\nextboxwd,\the\nextboxht,\the\nextboxdp) shifted (0,-\the\nextboxdp);}}
-\setvalue{textext::nodepth}{\immediate\write\TeXtextwrite{savetxt(\currenttextxt,\the\nextboxwd,\the\nextboxht,\the\nextboxdp);}}
-
-\setvalue{textext::d}{\getvalue{textext::depth}}
-\setvalue{textext::n}{\getvalue{textext::nodepth}}
-
-\newbox\mptextbox
-
-% \loadmapfile[lm-texnansi.map] % the font is not really used, i.e. nothing ends up in the file
-\definefontsynonym[MPtxtfont][texnansi-lmtt10]
-\definefont[localMPtxtfont][MPtxtfont at 10bp]
-
-\ifx\getTeXtext\undefined
-
- % this took a while to figure out
-
- \let\MPtextdata\empty
-
- \def\getTeXtext
- {\ifx\MPtextdata\empty\else
- \localMPtxtfont
- \setbox\mptextbox\hbox{\foundbox\currentTeXstack{\number\nofTeXtexts}}%
- \setbox\scratchbox\hbox{\MPtextdata}% set in meta-pdf.mkii/mkiv
- \edef\mpwd{\the\dimexpr\MPtextsize\dimexpr\wd\scratchbox/10\relax\relax}%
- \edef\mpht{\the\dimexpr\MPtextsize\dimexpr\ht\scratchbox/10\relax\relax}%
- \setbox\mptextbox\hbox{\raise\dp\mptextbox\box\mptextbox}%
- \dp\mptextbox\zeropoint
- \scale[\c!width=\mpwd,\c!height=\mpht]{\box\mptextbox}%
- \fi}
-
-\fi
-
-\let\nofTeXtexts\!!zerocount
-
-\setvalue{handleMPtext00001}% only height in tag (00001)
- {\setbox\scratchbox\hbox
- {\obeyMPspecials
- \edef\nofTeXtexts{\number\MPtextnumber}%
- \getTeXtext}%
- \setbox\scratchbox\hbox
- {\hskip\lastMPmoveX\onebasepoint\raise\lastMPmoveY\onebasepoint
- \box\scratchbox}%
- \ht\scratchbox\zeropoint
- \dp\scratchbox\zeropoint
- \wd\scratchbox\zeropoint
- \box\scratchbox}
-
-\startMPextensions
- string txtfile ; txtfile := "\currentTeXtext.mpb" ;
- string txtfont ; txtfont := "\truefontname{MPtxtfont}" ;
- string txtpref ; txtpref := "00001::::" ;
-\stopMPextensions
-
-\newcount\metatxtcounter
-
-\long\def\dodofiltersometxt#1#2#3%
- {\ifx#2\empty
- \else
- \advance\metatxtcounter\plusone
- \TeXtext{\the\metatxtcounter}{#1}%
- \expandafter\filtersometxt
- \fi#2#3}
-
-\long\def\redofiltersometxt[#1]#2%
- {\advance\metatxtcounter\plusone
- \TeXtext[#1]{\the\metatxtcounter}{#2}%
- \filtersometxt}
-
-\long\def\filtersometxt#1\sometxt
- {\doifnextoptionalelse\redofiltersometxt\dodofiltersometxt}
-
-% cleaner in mkiv
-%
-% \filtersometxt abc\sometxt{def};hij\sometxt{klm};\sometxt{}\empty\relax
-
-\long\def\flushTeXtexts#1%
- {\metatxtcounter\zerocount
- \dostartTeXtexts
- \the\collectedmptexts
- \filtersometxt#1\sometxt{}\empty\relax
- \dostopTeXtexts
- \ifconditional\TeXtextdone
- \immediate\write\MPwrite{loadtxts ; txtnext := 0 ;}%
- \global\collectedmptexts\emptytoks
- \fi
- \metatxtcounter\zerocount}
-
-% \long\def\sometxt#1{sometxt(nexttxt)} % to be used in mp definitions, no ; here
-
-\long\def\sometxt #1#{\dosometxt} % grab optional [args]
-\long\def\dosometxt#1{sometxt(nexttxt)} % to be used in mp definitions, no ; here
-
-% we redefine the writer:
-
-\long\def\writecheckedMPgraphic#1%
- {\ifforceMPTEXgraphic
- \global\MPTEXgraphictrue
- \else
- \global\MPTEXgraphicfalse
- \edef\ascii{#1}\defconvertedcommand\MPascii\ascii
- \the\MPTEXgraphicchecks\relax % \relax is end condition!
- \fi
- \flushMPTEXgraphic% % verbatimtex etc
- \flushTeXtexts{#1}% added
- \writeMPgraphic{#1}} % potential optimization: pass \ascii
-
-\protect \endinput
-
-% torture test (will move)
-
-\startMPpage
- numeric a_b_c ;
- picture p ; pickup pencircle scaled .1pt ;
- p := \sometxt{Just a \color[blue]{simple} example text.} ;
- p := image(draw p; draw boundingbox p withcolor red; ) ;
- p := p rotatedaround(center p, 360*(5/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor .5white ;
- setbounds currentpicture to boundingbox currentpicture enlarged 10pt ;
-\stopMPpage
-
-\startMPpage
- picture p ;
- p := \sometxt{\framed[width=fit,align=middle]{\input tufte\relax}} ;
- draw p rotatedaround(center p, 30) ;
-\stopMPpage
-
-\startMPpage
- picture p ;
- p := \sometxt{\framed[width=fit,align=middle]{\input tufte\relax}} ;
- draw p slanted .5 ;
-\stopMPpage
-
-\dorecurse{10} {
- \startTeXtexts
- \TeXtext{\recurselevel}{\ruledhbox{I must be {\green crazy} to implement this}}
- \stopTeXtexts
- \startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- numeric i ; i := \recurselevel ;
- p := sometxt(i) ;
- p := p rotatedaround(center p, 360*(i*5/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor .5white ;
- \stopMPpage
-}
-
-\startTeXtexts
- \dorecurse{100}{\TeXtext{\recurselevel}{\ruledhbox{\strut interesting \recurselevel}}}
-\stopTeXtexts
-
-\startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- for i = 1 upto 100:
- p := sometxt(i) ;
- p := p rotatedaround(center p, 360*(i*5/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- endfor ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor .5white ;
-\stopMPpage
-
-\startTeXtexts
- \dorecurse{100}{\TeXtext{\recurselevel}{\ruledhbox{\strut interesting \recurselevel}}}
-\stopTeXtexts
-
-\startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- for i = 1 step 5 until 100 :
- p := sometxt(i) ;
- p := p rotatedaround(center p, 360*(i/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- endfor ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor .5white ;
-\stopMPpage
-
-\startTeXtexts
- \dorecurse{20}{\TeXtext{\recurselevel}{\externalfigure[t:/sources/cow.pdf][width=1cm]}}
-\stopTeXtexts
-
-\startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- for i = 1 upto 20 :
- p := sometxt(i) ;
- p := p shifted (2.5cm,0) rotated (360*(i/20)) ;
- draw p ; draw boundingbox p withcolor blue ;
- endfor ;
- currentpicture := currentpicture scaled 10 ;
- draw boundingbox currentpicture withcolor .5white ;
-\stopMPpage
-
-\startTeXtexts
- \dorecurse{200}{\TeXtext{\recurselevel}{\ruledhbox{\strut I must be {\green crazy} \recurselevel}}}
-\stopTeXtexts
-
-\startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- numeric i ; i := 100 ;
- p := sometxt(i) ;
- p := p rotatedaround(center p, 360*(i*36/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor .5white ;
-\stopMPpage
-
-\dorecurse{10}{
- \startTeXtexts
- \dorecurse{200}{\TeXtext{\recurselevel}{\ruledhbox{\strut I must be {\green crazy} \recurselevel}}}
- \stopTeXtexts
- \startMPpage
- picture p ; pickup pencircle scaled .1pt ;
- j := 10*\recurselevel-9;
- k := 10*\recurselevel;
- for i = j upto k:
- p := sometxt(i) ;
- p := p rotatedaround(center p, 360*(i/100)) ;
- draw p ; draw boundingbox p withcolor blue ;
- endfor ;
- currentpicture := currentpicture scaled 20 ;
- draw boundingbox currentpicture withcolor red ;
- \stopMPpage
-}