diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pdf-trans/example.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pdf-trans/example.tex | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pdf-trans/example.tex b/Master/texmf-dist/doc/generic/pdf-trans/example.tex new file mode 100644 index 00000000000..db91f9697df --- /dev/null +++ b/Master/texmf-dist/doc/generic/pdf-trans/example.tex @@ -0,0 +1,215 @@ +%%% Self-documented example of pdf-trans.tex usage (pdfeTeX) +%%% P.Jackowski@gust.org.pl + +%\input pdfeplay +%\input pdftrans +\input pdf-trans + +\pdfdecimaldigits=3 +\pdfcompresslevel=0 % to see what is happening + +% Some configuration +% \enablefractangle % float angles support (deafult) +% \disablefractangle % integer only (old behaviour) +% \enablebpround % round \pdfliteral dimens to \pdfdecimanligits (default) +% \disablebpround % disable rounding (old behaviour) +% \let\tobp\roundfixedbp % calculate \pdfliteral dimens with fixed precision (risky) +\setbpround\pdfdecimaldigits % fix rounding precision (speed-up things) + +\font\F=qx-lmr10 at 120pt +\font\f=qx-lmr10 at 60pt +\font\T=qx-lmtt10 at 15pt +\font\tt=qx-lmtt10 at 10pt +\font\ttt=qx-lmtt10 at 8pt + +\pdfpagewidth=160mm +\pdfpageheight=120mm +\pdfhorigin=10mm +\pdfvorigin=10mm +\hsize=\dimexpr\pdfpagewidth-2\pdfhorigin +\vsize=\dimexpr\pdfpageheight-2\pdfvorigin + +\parindent=0pt +\nopagenumbers + +\ifx\pdfminorversion\undefined + \pdfoptionpdfminorversion=5 +\else + \pdfminorversion=5 +\fi + +\immediate\pdfobj{<< /Type /OCG /Name (box content before) >>} +\immediate\pdfobj{<< /Type /OCG /Name (box outline before) >>} +\immediate\pdfobj{<< /Type /OCG /Name (box content after) >>} +\immediate\pdfobj{<< /Type /OCG /Name (box outline after) >>} +\immediate\pdfobj{<< /Type /OCG /Name (final bounding box) >>} + +\pdfpageresources{/Properties << /OC1 1 0 R /OC2 2 0 R /OC3 3 0 R /OC4 4 0 R /OC5 5 0 R>>} +\pdfcatalog{/OCProperties +<< + /OCGs [1 0 R 2 0 R 3 0 R 4 0 R 5 0 R] + /D << /Order [1 0 R 2 0 R 3 0 R 4 0 R 5 0 R] + /OFF [2 0 R 4 0 R] + >> +>>} + +\newbox\qbox + +\def\defaultgs{\pdfliteral direct{.5 w 1 j 1 J}} + +\def\boxbe{\boxshow{/OC /OC2 BDC 0.3 G} {[2 2] 1 d}{EMC} \boxgs{/OC /OC1 BDC 2 Tr 0.7 g}{EMC}} +\def\boxaf{\boxshow{/OC /OC4 BDC 1.0 0.6 0.0 RG}{[2 2] 1 d}{EMC} \boxgs{/OC /OC3 BDC 2 Tr 1.0 0.8 0.0 rg}{EMC}} +\def\boxbb{\boxshow{/OC /OC5 BDC 0.7 0.0 0.0 RG}{[2 2] 1 d}{EMC}} + +\def\bookmark#1{% + \pdfoutline goto page\pageno {/Fit}{\getbookmark#1\relax}} + +\def\getbookmark#1#2\relax{\string\\\expandafter\gobbleone\string#1} +\def\gobbleone#1{} + +\def\test/#1/#2/{% + \bookmark{#2}\defaultgs + \vbox to4cm{\vss + Yo\boxbe\copy\qbox\kern-\wd\qbox + \boxbb#1\boxaf\copy\qbox a}\vfill + {\tt\detokenize{#2 <box>}}\medskip{\ttt\detokenize{#1}}\eject} + +\def\rawtest/#1/#2/{% + \bookmark{#2}\defaultgs + \vbox to4cm{\vss + Yo#1\copy\qbox a}\vfill + {\tt\detokenize{#2 <box>}}\medskip{\ttt\detokenize{#1}}\eject} + +%%% + +\T\defaultgs + +box tra\boxflipy\boxgs{1.0 0.8 0.0 rg}{}\hbox{N}% +sfo\boxrotatec{15}\boxgs{1.0 0.8 0.0 rg}{}\hbox{R}% +mation\boxflipx\boxgs{1.0 0.8 0.0 rg}{}\hbox{S} in +\boxgs{0.7 g}{}\hbox{pdf-trans.tex} + +\vskip0pt plus 4fil +\setbox\qbox\hbox{\f g} +\ttt +\leavevmode\boxbe\copy\qbox \quad before +\vfil +\leavevmode\boxaf\copy\qbox \quad after +\vfil +\leavevmode\boxbb\boxphantom\copy\qbox \quad bounding box + +\line{\hfill\boxrevolveleft\boxsmash\hbox{P.Jackowski@gust.org.pl}} +\pdfoutline goto page\pageno {/Fit}{pdf-trans.tex} + +\eject + +%%% + +\F\setbox\qbox\hbox{g} + +\test/\boxflipx /\boxflipx/ +\test/\boxflipy /\boxflipy/ +\test/\boxflipxy /\boxflipxy/ +\test/\boxflipbase/\boxflipbase/ +\test/\bboxtrans\boxflipbase/\bboxtrans{<trans>}/ +\test/\cboxtrans\boxflipbase/\cboxtrans{<trans>}/ + +\test/\boxtranslate{3mm}{2mm}/\boxtranslate{<dimexpr>}{<dimexpr>}/ + +\test/\boxrevolveleft /\boxrevolveleft/ +\test/\boxrevolveright/\boxrevolveright/ + +\test/\boxrotate{394.7}/\boxrotate{<angle>}/ +\test/\boxrotatexy{34.2}{\wd\transbox}{\ht\transbox} + /\boxrotatexy{<angle>}{<dimexpr>}{<dimexpr>}/ +\test/\boxrotatec{90}/\boxrotatec{<angle>}/ + +\test/\boxrotatebbl{-34.1}/\boxrotatebbl{<angle>}/ +%\test/\boxrotatebbl{-34.2}/\boxrotatebbl{<angle>}/ +\test/\boxrotatebbr{-34.2}/\boxrotatebbr{<angle>}/ + +\test/\boxslantx{15.2} /\boxslantx{<angle>}/ +\test/\boxslanty{25.3} /\boxslanty{<angle>}/ +%\test/\boxslantxy{15}{25} /\boxslantxy{<angle>}{<angle>}/ + +\test/\boxslantbbl{15}{25}/\boxslantbbl{<angle>}{<angle>}/ +\test/\boxslantbbr{15}{25}/\boxslantbbr{<angle>}{<angle>}/ + +\test/\boxscalex{75} /\boxscalex{<numexpr>}/ +\test/\boxscaley{75} /\boxscaley{<numexpr>}/ +\test/\cboxtransoff\boxscalexy{150}{75}/\boxscalexy{<numexpr>}{<numexpr>}/ +\test/\bboxtransoff\boxscale{75} /\boxscale{<numexpr>}/ + +\test/\boxscalexto{.5in+.1cm} /\boxscalexto{<dimexpr>}/ +\test/\boxscaleyto{.5in+.1cm} /\boxscaleyto{<dimexpr>}/ +\test/\boxscalexyto{.5in+.1cm}{1in/2}/\boxscalexyto{<dimxpr>}{<dimexpr>}/ +\test/\boxscalehtto{.5in+.1cm}/\boxscalehtto{<dimexpr>}/ +\test/\boxscaledpto{.5in+.1cm}/\boxscaledpto{<dimexpr>}/ + +\test/\boxuniscalexto{.5in+.1cm} /\boxuniscalexto{<dimexpr>}/ +\test/\boxuniscaleyto{.5in+.1cm} /\boxuniscaleyto{<dimexpr>}/ +\test/\boxuniscalehtto{.5in+.1cm}/\boxuniscalehtto{<dimexpr>}/ +\test/\boxuniscaledpto{.5in+.1cm}/\boxuniscaledpto{<dimexpr>}/ + +\test/\boxextscale{2mm}{5mm}{8mm}/\boxextscale{<dimexpr>}{<dimexpr>}{<dimexpr>}/ +\test/\boxextscaleto{3cm}{1cm}{2cm}/\boxextscaleto{<dimexpr>}{<dimexpr>}{<dimexpr>}/ + +\test/\boxexts{3mm}{3mm}{5mm}{5mm} + /\boxexts{<dimexpr>}{<dimexpr>}{<dimexpr>}{<dimexpr>}/ + +\test/\boxextents{2mm}{4mm}{6mm}{8mm} + /\boxextents{<dimexpr>}{<dimexpr>}{<dimexpr>}{<dimexpr>}/ + +% obsolete +%\test/\boxresizeto{}{3cm}{2cm} +% /\boxresizeto{<dimexpr>}{<dimexpr>}{<dimexpr>}/ +%\test/\boxresize{-3mm}{}{-2mm} /\boxresize{<dimexpr>}{<dimexpr>}{<dimexpr>}/ + +\test/\boxxformspec resources{\the\pdfpageresources} \boxxform\boxresizeto{11mm}{8mm}{3mm} + /\boxxformspec resources{/Foo /Bar} \boxxform/ + +\test/\boxclip\boxresizeto{}{8mm}{3mm} /\boxclip/ + +\test/\boxmoveleft{.3\wd\transbox}/\boxmoveleft{<dimexpr>}/ +\test/\boxmoveright{.3\wd\transbox}/\boxmoveright{<dimexpr>}/ +\test/\boxlower{\dp\transbox}/\boxlower{<dimexpr>}/ +\test/\boxraise{\dp\transbox}/\boxraise{<dimexpr>}/ +\test/\boxbaselineat{50}/\boxbaselineat{<numexpr>}/ + +% \rawtest/\boxphantom /\boxphntom/ +\rawtest/\boxinfo\boxsh/\boxinfo/ +\rawtest/\boxshow{0 1 0 RG}{[1 1]0 d}{} + /\boxshow{<gsspec>}{<gsspec>}{<gsspec>}/ +% \rawtest/\boxsh/\boxsh/ +\rawtest/\boxmarkers{-12pt}{3pt}{1 0 0 RG 1 J}/\boxmarkers{<dimexpr>}{<dimexpr>}{<gsspec>}/ + +\rawtest/\boxpath{3 w .7 0 0 rg 1 .8 0 RG}{B}\bboxtrans{\boxextscale{3mm}{3mm}{3mm}}\boxmoveright{3mm} + /\boxpath{<gsspec>}{<paintop>}/ +\rawtest/\boxroundpath{4mm}{3 w .7 0 0 rg 1 .8 0 RG}{B}\boxextent{3mm} + /\boxroundpath{<dimexpr>}{<gsspec>}{<paintop>}/ +\rawtest/\boxedgypath{4mm}{3 w .7 0 0 rg 1 .8 0 RG}{B}\boxextent{3mm} + /\boxedgypath{<dimexpr>}{<gsspec>}{<paintop>}/ + +%%% + +\ttt +Each transformation expands to <box> (\string\hbox\ in most cases).\par +Each transformation must be followed by a <box>.\bigskip + +<box> states for any kind of \TeX\ box; \string\hbox, + \string\vbox, + \string\vtop, + \string\box, + \string\copy\par + +<trans> is a list of box transformations \par +<dimexpr> states for dimen in eTeX form \par +<numexpr> states for integer in eTeX form \par +<angle> is an integer or float-like string \par +<gsspec> is a literal pdf content stream \par +<paintop> means pdf painting operator (S, f, B, W...)\par + +\bigskip +See the code for more. + +\end |