diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/pdfrack/doc |
Initial commit
Diffstat (limited to 'support/pdfrack/doc')
-rw-r--r-- | support/pdfrack/doc/BasicIdea.eps | 562 | ||||
-rw-r--r-- | support/pdfrack/doc/Details.eps | 462 | ||||
-rw-r--r-- | support/pdfrack/doc/pdfrack.pdf | bin | 0 -> 239300 bytes | |||
-rw-r--r-- | support/pdfrack/doc/pdfrack.tex | 407 |
4 files changed, 1431 insertions, 0 deletions
diff --git a/support/pdfrack/doc/BasicIdea.eps b/support/pdfrack/doc/BasicIdea.eps new file mode 100644 index 0000000000..b828c2fc02 --- /dev/null +++ b/support/pdfrack/doc/BasicIdea.eps @@ -0,0 +1,562 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: BasicIdea.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 +%%CreationDate: Fri Jul 28 10:32:46 2006 +%%For: mboyer@ubu (Marc Boyer) +%%BoundingBox: 0 0 542 605 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 605 moveto 0 0 lineto 542 0 lineto 542 605 lineto closepath clip newpath +-17.1 612.7 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Polyline +0 slj +0 slc +7.500 slw +n 2996 2100 m 3004 2100 l gs col0 s gr +% Polyline +n 2505 1650 m 2400 1650 2400 2445 105 arcto 4 {pop} repeat + 2400 2550 3495 2550 105 arcto 4 {pop} repeat + 3600 2550 3600 1755 105 arcto 4 {pop} repeat + 3600 1650 2505 1650 105 arcto 4 {pop} repeat + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +2812 2167 m +gs 1 -1 sc (latex) col0 sh gr +% Polyline +n 6105 1650 m 6000 1650 6000 2445 105 arcto 4 {pop} repeat + 6000 2550 7095 2550 105 arcto 4 {pop} repeat + 7200 2550 7200 1755 105 arcto 4 {pop} repeat + 7200 1650 6105 1650 105 arcto 4 {pop} repeat + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +6397 2145 m +gs 1 -1 sc (dvips) col0 sh gr +% Polyline +n 2400 4800 m 3600 4800 l 3600 5700 l 2400 5700 l + cp gs col0 s gr +% Polyline +n 2580 4950 m 2475 4950 2475 5145 105 arcto 4 {pop} repeat + 2475 5250 2745 5250 105 arcto 4 {pop} repeat + 2850 5250 2850 5055 105 arcto 4 {pop} repeat + 2850 4950 2580 4950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 3180 4950 m 3075 4950 3075 5145 105 arcto 4 {pop} repeat + 3075 5250 3345 5250 105 arcto 4 {pop} repeat + 3450 5250 3450 5055 105 arcto 4 {pop} repeat + 3450 4950 3180 4950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 2700 5025 m + 3300 5025 l gs col0 s gr +% Polyline +n 2700 5175 m + 3300 5100 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +2850 5475 m +gs 1 -1 sc (F\(x\)) col0 sh gr +% Ellipse +n 4125 5100 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 4800 5100 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 3900 4800 m 5100 4800 l 5100 5700 l 3900 5700 l + cp gs col0 s gr +% Polyline +n 4680 4950 m 4575 4950 4575 5145 105 arcto 4 {pop} repeat + 4575 5250 4845 5250 105 arcto 4 {pop} repeat + 4950 5250 4950 5055 105 arcto 4 {pop} repeat + 4950 4950 4680 4950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 4080 4950 m 3975 4950 3975 5145 105 arcto 4 {pop} repeat + 3975 5250 4245 5250 105 arcto 4 {pop} repeat + 4350 5250 4350 5055 105 arcto 4 {pop} repeat + 4350 4950 4080 4950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 4125 5100 m + 4800 5100 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +4350 5475 m +gs 1 -1 sc (G\(x\)) col0 sh gr +% Polyline +n 3255 6300 m 3150 6300 3150 7095 105 arcto 4 {pop} repeat + 3150 7200 4245 7200 105 arcto 4 {pop} repeat + 4350 7200 4350 6405 105 arcto 4 {pop} repeat + 4350 6300 3255 6300 105 arcto 4 {pop} repeat + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +3465 6795 m +gs 1 -1 sc (pdfrack) col0 sh gr +% Polyline +n 2400 7800 m 3600 7800 l 3600 8700 l 2400 8700 l + cp gs col0 s gr +% Polyline +n 2580 7950 m 2475 7950 2475 8145 105 arcto 4 {pop} repeat + 2475 8250 2745 8250 105 arcto 4 {pop} repeat + 2850 8250 2850 8055 105 arcto 4 {pop} repeat + 2850 7950 2580 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 3180 7950 m 3075 7950 3075 8145 105 arcto 4 {pop} repeat + 3075 8250 3345 8250 105 arcto 4 {pop} repeat + 3450 8250 3450 8055 105 arcto 4 {pop} repeat + 3450 7950 3180 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 2700 8025 m + 3300 8025 l gs col0 s gr +% Polyline +n 2700 8175 m + 3300 8100 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +2850 8475 m +gs 1 -1 sc (Fp\(x\)) col0 sh gr +/Times-Roman ff 180.00 scf sf +2400 7650 m +gs 1 -1 sc (F.pdf) col0 sh gr +% Polyline +n 3896 9750 m 3904 9750 l gs col0 s gr +% Polyline +n 3405 9300 m 3300 9300 3300 10095 105 arcto 4 {pop} repeat + 3300 10200 4395 10200 105 arcto 4 {pop} repeat + 4500 10200 4500 9405 105 arcto 4 {pop} repeat + 4500 9300 3405 9300 105 arcto 4 {pop} repeat + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +3592 9795 m +gs 1 -1 sc (pdflatex) col0 sh gr +% Ellipse +n 4125 8100 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 4800 8100 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 3900 7800 m 5100 7800 l 5100 8700 l 3900 8700 l + cp gs col0 s gr +% Polyline +n 4680 7950 m 4575 7950 4575 8145 105 arcto 4 {pop} repeat + 4575 8250 4845 8250 105 arcto 4 {pop} repeat + 4950 8250 4950 8055 105 arcto 4 {pop} repeat + 4950 7950 4680 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 4080 7950 m 3975 7950 3975 8145 105 arcto 4 {pop} repeat + 3975 8250 4245 8250 105 arcto 4 {pop} repeat + 4350 8250 4350 8055 105 arcto 4 {pop} repeat + 4350 7950 4080 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 4125 8100 m + 4800 8100 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +4350 8475 m +gs 1 -1 sc (Gp\(x\)) col0 sh gr +/Times-Roman ff 180.00 scf sf +3900 7650 m +gs 1 -1 sc (G.pdf) col0 sh gr +% Polyline +n 7800 1200 m 9000 1200 l 9000 2100 l 7800 2100 l + cp gs col0 s gr +% Polyline +n 7980 1350 m 7875 1350 7875 1545 105 arcto 4 {pop} repeat + 7875 1650 8145 1650 105 arcto 4 {pop} repeat + 8250 1650 8250 1455 105 arcto 4 {pop} repeat + 8250 1350 7980 1350 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8580 1350 m 8475 1350 8475 1545 105 arcto 4 {pop} repeat + 8475 1650 8745 1650 105 arcto 4 {pop} repeat + 8850 1650 8850 1455 105 arcto 4 {pop} repeat + 8850 1350 8580 1350 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8100 1425 m + 8700 1425 l gs col0 s gr +% Polyline +n 8100 1575 m + 8700 1500 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +8250 1875 m +gs 1 -1 sc (Fp\(x\)) col0 sh gr +% Ellipse +n 8025 2700 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 8700 2700 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 7800 2400 m 9000 2400 l 9000 3300 l 7800 3300 l + cp gs col0 s gr +% Polyline +n 8580 2550 m 8475 2550 8475 2745 105 arcto 4 {pop} repeat + 8475 2850 8745 2850 105 arcto 4 {pop} repeat + 8850 2850 8850 2655 105 arcto 4 {pop} repeat + 8850 2550 8580 2550 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 7980 2550 m 7875 2550 7875 2745 105 arcto 4 {pop} repeat + 7875 2850 8145 2850 105 arcto 4 {pop} repeat + 8250 2850 8250 2655 105 arcto 4 {pop} repeat + 8250 2550 7980 2550 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8025 2700 m + 8700 2700 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +8250 3075 m +gs 1 -1 sc (Gp\(x\)) col0 sh gr +% Polyline +n 7500 600 m 9300 600 l 9300 3600 l 7500 3600 l + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +7500 300 m +gs 1 -1 sc (File.ps) col0 sh gr +% Polyline +n 7800 7800 m 9000 7800 l 9000 8700 l 7800 8700 l + cp gs col0 s gr +% Polyline +n 7980 7950 m 7875 7950 7875 8145 105 arcto 4 {pop} repeat + 7875 8250 8145 8250 105 arcto 4 {pop} repeat + 8250 8250 8250 8055 105 arcto 4 {pop} repeat + 8250 7950 7980 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8580 7950 m 8475 7950 8475 8145 105 arcto 4 {pop} repeat + 8475 8250 8745 8250 105 arcto 4 {pop} repeat + 8850 8250 8850 8055 105 arcto 4 {pop} repeat + 8850 7950 8580 7950 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8100 8025 m + 8700 8025 l gs col0 s gr +% Polyline +n 8100 8175 m + 8700 8100 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +8250 8475 m +gs 1 -1 sc (Fp\(x\)) col0 sh gr +% Ellipse +n 8025 9300 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 8700 9300 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 7800 9000 m 9000 9000 l 9000 9900 l 7800 9900 l + cp gs col0 s gr +% Polyline +n 8580 9150 m 8475 9150 8475 9345 105 arcto 4 {pop} repeat + 8475 9450 8745 9450 105 arcto 4 {pop} repeat + 8850 9450 8850 9255 105 arcto 4 {pop} repeat + 8850 9150 8580 9150 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 7980 9150 m 7875 9150 7875 9345 105 arcto 4 {pop} repeat + 7875 9450 8145 9450 105 arcto 4 {pop} repeat + 8250 9450 8250 9255 105 arcto 4 {pop} repeat + 8250 9150 7980 9150 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8025 9300 m + 8700 9300 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +8250 9675 m +gs 1 -1 sc (Gp\(x\)) col0 sh gr +/Courier ff 135.00 scf sf +300 2475 m +gs 1 -1 sc (\\begin{figure}) col0 sh gr +/Courier ff 135.00 scf sf +300 2925 m +gs 1 -1 sc (\\end{figure}) col0 sh gr +/Courier ff 135.00 scf sf +300 2700 m +gs 1 -1 sc (\\includegraphics{G}) col0 sh gr +% Polyline +n 300 600 m 2100 600 l 2100 3600 l 300 3600 l + cp gs col0 s gr +% Polyline +n 3900 600 m 5700 600 l 5700 3600 l 3900 3600 l + cp gs col0 s gr +% Polyline +n 4200 1200 m 5400 1200 l 5400 2100 l 4200 2100 l + cp gs col0 s gr +% Polyline +n 4200 2400 m 5400 2400 l 5400 3300 l 4200 3300 l + cp gs col0 s gr +% Polyline +gs clippath +5847 2130 m 6015 2130 l 6015 2070 l 5847 2070 l 5847 2070 l 5967 2100 l 5847 2130 l cp +eoclip +n 5700 2100 m + 6000 2100 l gs col0 s gr gr + +% arrowhead +n 5847 2130 m 5967 2100 l 5847 2070 l col0 s +% Polyline +gs clippath +6330 2703 m 6330 2535 l 6270 2535 l 6270 2703 l 6270 2703 l 6300 2583 l 6330 2703 l cp +eoclip +n 3000 4800 m 3000 4200 l 6300 4200 l + 6300 2550 l gs col0 s gr gr + +% arrowhead +n 6330 2703 m 6300 2583 l 6270 2703 l col0 s +% Polyline +gs clippath +6630 2778 m 6630 2610 l 6570 2610 l 6570 2778 l 6570 2778 l 6600 2658 l 6630 2778 l cp +eoclip +n 4500 4800 m 4500 4500 l 6600 4500 l + 6600 2625 l gs col0 s gr gr + +% arrowhead +n 6630 2778 m 6600 2658 l 6570 2778 l col0 s +% Polyline +gs clippath +3570 6147 m 3570 6315 l 3630 6315 l 3630 6147 l 3630 6147 l 3600 6267 l 3570 6147 l cp +eoclip +n 3000 5700 m 3000 6000 l 3600 6000 l + 3600 6300 l gs col0 s gr gr + +% arrowhead +n 3570 6147 m 3600 6267 l 3630 6147 l col0 s +% Polyline +gs clippath +3870 6147 m 3870 6315 l 3930 6315 l 3930 6147 l 3930 6147 l 3900 6267 l 3870 6147 l cp +eoclip +n 4500 5700 m 4500 6000 l 3900 6000 l + 3900 6300 l gs col0 s gr gr + +% arrowhead +n 3870 6147 m 3900 6267 l 3930 6147 l col0 s +% Polyline +gs clippath +2970 7647 m 2970 7815 l 3030 7815 l 3030 7647 l 3030 7647 l 3000 7767 l 2970 7647 l cp +eoclip +n 3600 7200 m 3600 7500 l 3000 7500 l + 3000 7800 l gs col0 s gr gr + +% arrowhead +n 2970 7647 m 3000 7767 l 3030 7647 l col0 s +% Polyline +gs clippath +4470 7647 m 4470 7815 l 4530 7815 l 4530 7647 l 4530 7647 l 4500 7767 l 4470 7647 l cp +eoclip +n 3900 7200 m 3900 7500 l 4500 7500 l + 4500 7800 l gs col0 s gr gr + +% arrowhead +n 4470 7647 m 4500 7767 l 4530 7647 l col0 s +% Polyline +gs clippath +2997 6780 m 3165 6780 l 3165 6720 l 2997 6720 l 2997 6720 l 3117 6750 l 2997 6780 l cp +eoclip +n 1200 3600 m 1200 6750 l + 3150 6750 l gs col0 s gr gr + +% arrowhead +n 2997 6780 m 3117 6750 l 2997 6720 l col0 s +% Polyline +gs clippath +3747 2130 m 3915 2130 l 3915 2070 l 3747 2070 l 3747 2070 l 3867 2100 l 3747 2130 l cp +eoclip +n 3600 2100 m + 3900 2100 l gs col0 s gr gr + +% arrowhead +n 3747 2130 m 3867 2100 l 3747 2070 l col0 s +% Polyline +gs clippath +3147 9780 m 3315 9780 l 3315 9720 l 3147 9720 l 3147 9720 l 3267 9750 l 3147 9780 l cp +eoclip +n 750 3600 m 750 9750 l + 3300 9750 l gs col0 s gr gr + +% arrowhead +n 3147 9780 m 3267 9750 l 3147 9720 l col0 s +% Polyline +gs clippath +3570 9147 m 3570 9315 l 3630 9315 l 3630 9147 l 3630 9147 l 3600 9267 l 3570 9147 l cp +eoclip +n 3000 8700 m 3000 9000 l 3600 9000 l + 3600 9300 l gs col0 s gr gr + +% arrowhead +n 3570 9147 m 3600 9267 l 3630 9147 l col0 s +% Polyline +gs clippath +3870 9147 m 3870 9315 l 3930 9315 l 3930 9147 l 3930 9147 l 3900 9267 l 3870 9147 l cp +eoclip +n 4500 8700 m 4500 9000 l 3900 9000 l + 3900 9300 l gs col0 s gr gr + +% arrowhead +n 3870 9147 m 3900 9267 l 3930 9147 l col0 s +% Polyline +gs clippath +7347 2130 m 7515 2130 l 7515 2070 l 7347 2070 l 7347 2070 l 7467 2100 l 7347 2130 l cp +eoclip +n 7200 2100 m + 7500 2100 l gs col0 s gr gr + +% arrowhead +n 7347 2130 m 7467 2100 l 7347 2070 l col0 s +% Polyline +n 7500 7200 m 9300 7200 l 9300 10200 l 7500 10200 l + cp gs col0 s gr +% Polyline +gs clippath +7365 8778 m 7524 8723 l 7504 8666 l 7345 8722 l 7345 8722 l 7469 8711 l 7365 8778 l cp +eoclip +n 4500 9750 m + 7500 8700 l gs col0 s gr gr + +% arrowhead +n 7365 8778 m 7469 8711 l 7345 8722 l col0 s +% Polyline + [60] 0 sd +gs clippath +2247 2130 m 2415 2130 l 2415 2070 l 2247 2070 l 2247 2070 l 2367 2100 l 2247 2130 l cp +eoclip +n 2100 2100 m + 2400 2100 l gs col0 s gr gr + [] 0 sd +% arrowhead +n 2247 2130 m 2367 2100 l 2247 2070 l col0 s +/Times-Roman ff 180.00 scf sf +300 300 m +gs 1 -1 sc (File.tex) col0 sh gr +/Times-Roman ff 180.00 scf sf +3900 300 m +gs 1 -1 sc (File.dvi) col0 sh gr +/Times-Roman ff 180.00 scf sf +4575 1725 m +gs 1 -1 sc (F.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +4575 2925 m +gs 1 -1 sc (G.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +2400 4650 m +gs 1 -1 sc (F.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +3900 4650 m +gs 1 -1 sc (G.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +7500 6900 m +gs 1 -1 sc (File.pdf) col0 sh gr +/Courier ff 135.00 scf sf +375 1350 m +gs 1 -1 sc (\\begin{figure}) col0 sh gr +/Courier ff 135.00 scf sf +375 1800 m +gs 1 -1 sc (\\end{figure}) col0 sh gr +/Courier ff 135.00 scf sf +375 1575 m +gs 1 -1 sc (\\includegraphics{F}) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF diff --git a/support/pdfrack/doc/Details.eps b/support/pdfrack/doc/Details.eps new file mode 100644 index 0000000000..2a5c974507 --- /dev/null +++ b/support/pdfrack/doc/Details.eps @@ -0,0 +1,462 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Details.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 +%%CreationDate: Fri Jul 28 10:32:47 2006 +%%For: mboyer@ubu (Marc Boyer) +%%BoundingBox: 0 0 551 478 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 478 moveto 0 0 lineto 551 0 lineto 551 478 lineto closepath clip newpath +-188.3 342.7 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Polyline +0 slj +0 slc +7.500 slw +n 11100 2700 m 12300 2700 l 12300 3600 l 11100 3600 l + cp gs col0 s gr +% Polyline +n 11280 2850 m 11175 2850 11175 3045 105 arcto 4 {pop} repeat + 11175 3150 11445 3150 105 arcto 4 {pop} repeat + 11550 3150 11550 2955 105 arcto 4 {pop} repeat + 11550 2850 11280 2850 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 11880 2850 m 11775 2850 11775 3045 105 arcto 4 {pop} repeat + 11775 3150 12045 3150 105 arcto 4 {pop} repeat + 12150 3150 12150 2955 105 arcto 4 {pop} repeat + 12150 2850 11880 2850 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +gs clippath +11847 2955 m 12015 2955 l 12015 2895 l 11847 2895 l 11847 2895 l 11967 2925 l 11847 2955 l cp +eoclip +n 11400 2925 m + 12000 2925 l gs col0 s gr gr + +% arrowhead +n 11847 2955 m 11967 2925 l 11847 2895 l col0 s +% Polyline +gs clippath +11851 3048 m 12018 3027 l 12011 2968 l 11844 2989 l 11844 2989 l 11967 3004 l 11851 3048 l cp +eoclip +n 11400 3075 m + 12000 3000 l gs col0 s gr gr + +% arrowhead +n 11851 3048 m 11967 3004 l 11844 2989 l col0 s +/Times-Roman ff 180.00 scf sf +11550 3375 m +gs 1 -1 sc (Fp\(x\)) col0 sh gr +/Times-Roman ff 180.00 scf sf +11100 2550 m +gs 1 -1 sc (F.pdf) col0 sh gr +% Ellipse +n 11325 4500 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 12000 4500 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 11100 4200 m 12300 4200 l 12300 5100 l 11100 5100 l + cp gs col0 s gr +% Polyline +n 11880 4350 m 11775 4350 11775 4545 105 arcto 4 {pop} repeat + 11775 4650 12045 4650 105 arcto 4 {pop} repeat + 12150 4650 12150 4455 105 arcto 4 {pop} repeat + 12150 4350 11880 4350 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 11280 4350 m 11175 4350 11175 4545 105 arcto 4 {pop} repeat + 11175 4650 11445 4650 105 arcto 4 {pop} repeat + 11550 4650 11550 4455 105 arcto 4 {pop} repeat + 11550 4350 11280 4350 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +gs clippath +11847 4530 m 12015 4530 l 12015 4470 l 11847 4470 l 11847 4470 l 11967 4500 l 11847 4530 l cp +eoclip +n 11325 4500 m + 12000 4500 l gs col0 s gr gr + +% arrowhead +n 11847 4530 m 11967 4500 l 11847 4470 l col0 s +/Times-Roman ff 180.00 scf sf +11550 4875 m +gs 1 -1 sc (Gp\(x\)) col0 sh gr +/Times-Roman ff 180.00 scf sf +11100 4050 m +gs 1 -1 sc (G.pdf) col0 sh gr +% Polyline +n 6300 300 m 7500 300 l 7500 1200 l 6300 1200 l + cp gs col0 s gr +% Polyline +n 6480 450 m 6375 450 6375 645 105 arcto 4 {pop} repeat + 6375 750 6645 750 105 arcto 4 {pop} repeat + 6750 750 6750 555 105 arcto 4 {pop} repeat + 6750 450 6480 450 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 7080 450 m 6975 450 6975 645 105 arcto 4 {pop} repeat + 6975 750 7245 750 105 arcto 4 {pop} repeat + 7350 750 7350 555 105 arcto 4 {pop} repeat + 7350 450 7080 450 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 6600 525 m + 7200 525 l gs col0 s gr +% Polyline +n 6600 675 m + 7200 600 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +6750 975 m +gs 1 -1 sc (F\(x\)) col0 sh gr +% Ellipse +n 8025 600 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 8700 600 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 7800 300 m 9000 300 l 9000 1200 l 7800 1200 l + cp gs col0 s gr +% Polyline +n 8580 450 m 8475 450 8475 645 105 arcto 4 {pop} repeat + 8475 750 8745 750 105 arcto 4 {pop} repeat + 8850 750 8850 555 105 arcto 4 {pop} repeat + 8850 450 8580 450 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 7980 450 m 7875 450 7875 645 105 arcto 4 {pop} repeat + 7875 750 8145 750 105 arcto 4 {pop} repeat + 8250 750 8250 555 105 arcto 4 {pop} repeat + 8250 450 7980 450 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 8025 600 m + 8700 600 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +8250 975 m +gs 1 -1 sc (G\(x\)) col0 sh gr +/Courier ff 135.00 scf sf +3600 -1125 m +gs 1 -1 sc (\\begin{figure}) col0 sh gr +/Courier ff 135.00 scf sf +3600 -675 m +gs 1 -1 sc (\\end{figure}) col0 sh gr +/Courier ff 135.00 scf sf +3600 -900 m +gs 1 -1 sc (\\includegraphics{F}) col0 sh gr +/Courier ff 135.00 scf sf +3600 75 m +gs 1 -1 sc (\\begin{figure}) col0 sh gr +/Courier ff 135.00 scf sf +3600 525 m +gs 1 -1 sc (\\end{figure}) col0 sh gr +/Courier ff 135.00 scf sf +3600 300 m +gs 1 -1 sc (\\includegraphics{G}) col0 sh gr +% Polyline +n 3600 -1800 m 5400 -1800 l 5400 1200 l 3600 1200 l + cp gs col0 s gr +/Times-Roman ff 180.00 scf sf +3600 -2100 m +gs 1 -1 sc (File.tex) col0 sh gr +% Polyline +n 3300 4200 m 4500 4200 l 4500 5100 l 3300 5100 l + cp gs col0 s gr +% Polyline +n 3300 2700 m 4500 2700 l 4500 3600 l 3300 3600 l + cp gs col0 s gr +% Polyline +gs clippath +5247 3180 m 5415 3180 l 5415 3120 l 5247 3120 l 5247 3120 l 5367 3150 l 5247 3180 l cp +eoclip +n 4500 3150 m + 5400 3150 l gs col0 s gr gr + +% arrowhead +n 5247 3180 m 5367 3150 l 5247 3120 l col0 s +% Polyline +gs clippath +5247 4680 m 5415 4680 l 5415 4620 l 5247 4620 l 5247 4620 l 5367 4650 l 5247 4680 l cp +eoclip +n 4500 4650 m + 5400 4650 l gs col0 s gr gr + +% arrowhead +n 5247 4680 m 5367 4650 l 5247 4620 l col0 s +% Polyline +n 5400 2700 m 6600 2700 l 6600 3600 l 5400 3600 l + cp gs col0 s gr +% Polyline +n 5400 4200 m 6600 4200 l 6600 5100 l 5400 5100 l + cp gs col0 s gr +% Polyline +gs clippath +8199 2267 m 8351 2195 l 8325 2141 l 8173 2213 l 8173 2213 l 8295 2189 l 8199 2267 l cp +eoclip +n 6600 3000 m + 8325 2175 l gs col0 s gr gr + +% arrowhead +n 8199 2267 m 8295 2189 l 8173 2213 l col0 s +% Polyline +gs clippath +10946 2972 m 11102 3033 l 11124 2977 l 10968 2916 l 10968 2916 l 11069 2988 l 10946 2972 l cp +eoclip +n 9000 2175 m + 11100 3000 l gs col0 s gr gr + +% arrowhead +n 10946 2972 m 11069 2988 l 10968 2916 l col0 s +% Polyline +n 3255 1800 m 3150 1800 3150 5595 105 arcto 4 {pop} repeat + 3150 5700 10695 5700 105 arcto 4 {pop} repeat + 10800 5700 10800 1905 105 arcto 4 {pop} repeat + 10800 1800 3255 1800 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +gs clippath +7272 3105 m 7440 3105 l 7440 3045 l 7272 3045 l 7272 3045 l 7392 3075 l 7272 3105 l cp +eoclip +n 6600 3075 m + 7425 3075 l gs col0 s gr gr + +% arrowhead +n 7272 3105 m 7392 3075 l 7272 3045 l col0 s +% Polyline +gs clippath +8622 3105 m 8790 3105 l 8790 3045 l 8622 3045 l 8622 3045 l 8742 3075 l 8622 3105 l cp +eoclip +n 7875 3075 m + 8775 3075 l gs col0 s gr gr + +% arrowhead +n 8622 3105 m 8742 3075 l 8622 3045 l col0 s +% Polyline +gs clippath +10947 3105 m 11115 3105 l 11115 3045 l 10947 3045 l 10947 3045 l 11067 3075 l 10947 3105 l cp +eoclip +n 9300 3075 m + 11100 3075 l gs col0 s gr gr + +% arrowhead +n 10947 3105 m 11067 3075 l 10947 3045 l col0 s +% Polyline +gs clippath +7944 3524 m 8108 3557 l 8120 3498 l 7956 3466 l 7956 3466 l 8068 3519 l 7944 3524 l cp +eoclip +n 6600 3225 m + 8100 3525 l gs col0 s gr gr + +% arrowhead +n 7944 3524 m 8068 3519 l 7956 3466 l col0 s +% Polyline +gs clippath +10953 3203 m 11119 3177 l 11110 3118 l 10943 3143 l 10943 3143 l 11067 3155 l 10953 3203 l cp +eoclip +n 8700 3525 m + 11100 3150 l gs col0 s gr gr + +% arrowhead +n 10953 3203 m 11067 3155 l 10943 3143 l col0 s +% Polyline + [60] 0 sd +gs clippath +10947 4680 m 11115 4680 l 11115 4620 l 10947 4620 l 10947 4620 l 11067 4650 l 10947 4680 l cp +eoclip +n 6600 4650 m + 11100 4650 l gs col0 s gr gr + [] 0 sd +% arrowhead +n 10947 4680 m 11067 4650 l 10947 4620 l col0 s +% Polyline +gs clippath +4470 1647 m 4470 1815 l 4530 1815 l 4530 1647 l 4530 1647 l 4500 1767 l 4470 1647 l cp +eoclip +n 4500 1200 m + 4500 1800 l gs col0 s gr gr + +% arrowhead +n 4470 1647 m 4500 1767 l 4530 1647 l col0 s +% Polyline +gs clippath +6870 1647 m 6870 1815 l 6930 1815 l 6930 1647 l 6930 1647 l 6900 1767 l 6870 1647 l cp +eoclip +n 6900 1200 m + 6900 1800 l gs col0 s gr gr + +% arrowhead +n 6870 1647 m 6900 1767 l 6930 1647 l col0 s +% Polyline +gs clippath +8370 1647 m 8370 1815 l 8430 1815 l 8430 1647 l 8430 1647 l 8400 1767 l 8370 1647 l cp +eoclip +n 8400 1200 m + 8400 1800 l gs col0 s gr gr + +% arrowhead +n 8370 1647 m 8400 1767 l 8430 1647 l col0 s +/Times-Roman ff 180.00 scf sf +3300 2025 m +gs 1 -1 sc (pdfrack) col0 sh gr +/Times-Roman ff 180.00 scf sf +3300 2625 m +gs 1 -1 sc (F.tex) col0 sh gr +/Times-Roman ff 180.00 scf sf +3525 3150 m +gs 1 -1 sc (figureF) col0 sh gr +/Times-Roman ff 180.00 scf sf +3525 4725 m +gs 1 -1 sc (figureG) col0 sh gr +/Times-Roman ff 180.00 scf sf +3300 4125 m +gs 1 -1 sc (G.tex) col0 sh gr +/Times-Roman ff 180.00 scf sf +4800 3000 m +gs 1 -1 sc (latex) col0 sh gr +/Times-Roman ff 180.00 scf sf +4800 4500 m +gs 1 -1 sc (latex) col0 sh gr +/Times-Roman ff 180.00 scf sf +5400 2625 m +gs 1 -1 sc (F.dvi) col0 sh gr +/Times-Roman ff 180.00 scf sf +5400 4125 m +gs 1 -1 sc (G.dvi) col0 sh gr +/Times-Roman ff 180.00 scf sf +6975 3225 m +gs 1 -1 sc 90.0 rot (dvips) col0 sh gr +/Times-Roman ff 180.00 scf sf +7500 3150 m +gs 1 -1 sc (F.ps) col0 sh gr +/Times-Roman ff 180.00 scf sf +8850 3150 m +gs 1 -1 sc (F.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +8025 3000 m +gs 1 -1 sc (ps2eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +9675 3000 m +gs 1 -1 sc (eps2pdf) col0 sh gr +/Times-Roman ff 180.00 scf sf +8250 3600 m +gs 1 -1 sc (F.ps) col0 sh gr +/Times-Roman ff 180.00 scf sf +8475 2250 m +gs 1 -1 sc (F.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +9600 2325 m +gs 1 -1 sc (eps2pdf) col0 sh gr +/Times-Roman ff 180.00 scf sf +9600 3600 m +gs 1 -1 sc (ps2pdf) col0 sh gr +/Times-Roman ff 180.00 scf sf +6300 150 m +gs 1 -1 sc (F.eps) col0 sh gr +/Times-Roman ff 180.00 scf sf +7800 150 m +gs 1 -1 sc (G.eps) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF diff --git a/support/pdfrack/doc/pdfrack.pdf b/support/pdfrack/doc/pdfrack.pdf Binary files differnew file mode 100644 index 0000000000..d2e043c385 --- /dev/null +++ b/support/pdfrack/doc/pdfrack.pdf diff --git a/support/pdfrack/doc/pdfrack.tex b/support/pdfrack/doc/pdfrack.tex new file mode 100644 index 0000000000..f47770f95b --- /dev/null +++ b/support/pdfrack/doc/pdfrack.tex @@ -0,0 +1,407 @@ +\documentclass{article} +\usepackage{psfrag,pdfrack} +\usepackage{xspace} +\usepackage{hyperref} +\usepackage[latin1]{inputenc} +\usepackage{srcltx} + +\title{The \texttt{pdfrack} manual} +\author{Marc Boyer\\ ONERA \\ France \\ +\texttt{Marc.Boyer@onera.fr}} + +% Tools +\newcommand{\pdfrack}{\texttt{pdfrack}\xspace} +\newcommand{\pdflatex}{\texttt{pdflatex}\xspace} +\newcommand{\Psfrag}{\texttt{psfrag}\xspace} +\newcommand{\dvips}{\texttt{dvips}\xspace} +% Formats +\newcommand{\pdf}{\texttt{pdf}\xspace} +\newcommand{\postscript}{\texttt{postscript}\xspace} +\newcommand{\dvi}{\texttt{dvi}\xspace} +% alias +\newcommand{\B}{\ensuremath{\backslash}} +\newcommand{\command}[1]{\texttt{\textbackslash{}#1}} + +\begin{document} + +\maketitle + +\tableofcontents + + +\section{Introduction} + +What is \pdfrack? The \pdfrack is a \emph{hack} that allow to use +\Psfrag and \pdflatex. + +The \pdfrack is not a \emph{complete} solution: it does not handle all +\LaTeX\ files, and you will sometimes need to modify your \LaTeX\ source +files if you want to use it. But it can help you to save time. + +\subsection{Why \pdfrack?} +If you want to generate a \pdf file from a \LaTeX\ one, you either can +do it directly, using \pdflatex, or by first generating a +\postscript\footnote{With \LaTeX; you generate a \dvi file, and, with + some filter, like \texttt{dvips}, you get a \postscript one.} +file and converting this \postscript to a \pdf file. + +The \Psfrag package allow the user to replace some text in a +\postscript figure by another \LaTeX\ text. To use \Psfrag, you must +use a filter from \dvi to \postscript. So, if you compile with +\pdflatex, the text substutions are lost. Nevertheless, you sometimes +want to use \pdflatex, to be +able to add hyperlinks in your \pdf, or because your \postscript to +\pdf filter produces a ugly text. + +\subsection{Basic idea} + +The basic idea of \pdfrack is, from your \LaTeX\ source file, to +produce the figures in \pdf format, \emph{with the \Psfrag + replacements}. Then, you can compile with \pdflatex, including the +\pdf figures. + + +\begin{figure}[htbp] + \centering + \psfrag{pdflatex}[c][c][.7]{\pdflatex} + \psfrag{pdfrack}[c][c][.7]{\pdfrack} + \psfrag{dvips}[c][c][.7]{\dvips} + \psfrag{latex}[c][c][.7]{\texttt{latex}} + \psfrag{Fp(x)}{$\mathcal{F}(x)$} + \psfrag{Gp(x)}{$\mathcal{G}(x)$} + \pdfrackincludegraphics[width=\textwidth]{BasicIdea} + \caption{The basic idea of \pdfrack} + \label{fig:BasicIdea} +\end{figure} + + +\section{Using it} + +\subsection{Installation} + +Put the script \texttt{pdfrack.sh} in a directory included in your +path, and \texttt{pdfrack.sty} somewhere where \TeX will find +it\footnote{The variable \texttt{TEXINPUTS} defines where your \TeX + tool looks for inputs.}. + +Moreover, the \texttt{pdfrack.sh} script uses a lot of other scripts +and software. (\texttt{cut, dvips, epstopdf, grep, head, latex, + ps2ps, ps2epsi, sort, tail}, and, first of all, a bourne +shell). They all are installed with common Unix/Linux distribution, +so, you should not have to care about it. + +\subsection{A very short tutorial} + +Assuming you have a \LaTeX\ file, with figures included using the +following pattern: +\begin{verbatim} +\begin{figure}[htbp] + \centering + \psfrag{Fp(x)}{$\mathcal{F}(x)$} + \psfrag{Gp(x)}{$\mathcal{G}(x)$} + \includegraphics[width=\textwidth]{BasicIdea} + \caption{The basic idea of \pdfrack} + \label{fig:BasicIdea} +\end{figure} +\end{verbatim} + + +They are two ways to use it: the lazy automatic one (option +\texttt{-a}), where all figures founds are converted, and the +hand-made one, where you have to select the figures to be converted +with the script. + +\subsubsection{Lazy way} + +Just runs the script on your file with the \texttt{-a} option. Now, +you can use \pdflatex (and ignore some warning messages about +\texttt{psfrag}). + +That is to says, assuming that your file has name \texttt{file.tex}, just run +\begin{verbatim} +pdfrack.sh -a file.tex +pdflatex file +\end{verbatim} + +You have to rerun the script each time the files or the +\texttt{psfrag} commands are modified. + + +\subsubsection{Hand made way} + +In the hand-made one, you simply have to: +\begin{itemize} +\item include the \pdfrack package \verb+\usepackage{pdfrack}+ +\item replace the \verb+\includegraphics+ commands by + \verb+\pdfrackincludegraphics+ for all figures selected for + translation +\end{itemize} + +Then, just run the command \texttt{pdfrack.sh} on your file. It should +produce some output like: +\begin{verbatim} +---------------------------------------------- + ---> Converting figure BasicIdea +Using LaTeX: producting dvi +This is e-TeX, Version 3.14159-2.1 (Web2C 7.4.5) +entering extended mode +Method 2: Trying conversion with dvips -|-> ps2eps -|-> eps2eps -|-> epstopdf +Converting dvi -> ps (dvips) +Converting ps -> eps (ps2eps) + Cleaning eps with eps2eps filter +Converting eps -> pdf (epstopdf) +Removing temporary files +\end{verbatim} +for each figure, and generates a standalone \pdf figure \emph{with the + psfrag replacements}. + +Then, you can run \pdflatex on your file. + +In the lazy automatic one, you simply have to run the command +\texttt{pdfrack.sh} with option \texttt{-a}, and it will produce the +same kind of output, plus some warning like \texttt{Non-PDF special + ignored!} when running \texttt{pdflatex}. + + +\medbreak + +Sometimes, the bounding box of the generated file is not very good. Try +different values for the \texttt{-m} options, and try to use or no the +\texttt{-p} and \texttt{-e} options. If offers you 16 +possibilities. If none work, your are unlucky. + +See also the \texttt{README} file to have more details. + +\subsection{Limitations} + +The \pdfrack package is based on a bourne-shell script that parse the +file to find the \verb+\begin{figure}+ and \verb+\end{figure}+ +tags. So, you must use this to way of including figure (or change the +script). + +Note that the \texttt{\%} is is general seen as a comment, even if +prefixed with $\backslash$. So, avoid to use it. + +If your \LaTeX\ code is too complex, then, \texttt{pdfrack} will ne be +able to handle it. Then, you should write a simpler \LaTeX file, with +your figure(s) and use this file to generate the pdf figures. + + +\subsection{Options} + + +\subsubsection{Summary} +\label{sec:opt-sum} + +\begin{description} +\item[-h] help +\item[-m] method: integer in 0..3 (default is 2) + the number of the method used to convert \dvi to \pdf + if one method fails, try another, and add -p and/or -e options \verb+:-)+ +\item[-p] filter each postscript file with \texttt{ps2ps} +\item[-e] filter each encapsulated postscript file with + \texttt{eps2eps} +\item[-a] auto/all, translate all figures included with \verb+\includegraphics+ (avoid + the use of \texttt{pdfrackincludegraphics}) +\item[-i] force use of \texttt{ps2epsi} instead of \texttt{ps2eps} +\item[-k] keep (all tempory files are keeped, usefull for debug) +\item[-H] own header file (default is to extract from file.tex file) +\item[-M] master file (to handle sub files) +\end{description} + + +\subsubsection{Filter options: \texttt{-m, -p, -e, -i}} +\label{sec:opt-filter} + +The main source of troubles is the generation of a \pdf from the \dvi +of \postscript file, and especially the size of the ``Bounding box''. If the +default method fails, you should try some values of the \texttt{-m} +option. + +You also can add the \texttt{-p} and \texttt{-e} options. In theory, +they are useless, since \texttt{-p} force a \postscript to \postscript +translation, and since \texttt{-e} does the same with encapsulated +postscript. But in practice, it may help. + +In general, the filter \texttt{ps2eps} does a better job than +\texttt{ps2epsi}. Then, by default, the script uses it. The option +\texttt{-i} is there to force the use of \texttt{ps2epsi}. + +\subsubsection{Auto option} + +You can avoid the use of the command \texttt{pdfrackincludegraphics}, +with the option \texttt{-a}. It will generate a \pdf figure for all +figures included with \texttt{includegraphics}, even those without any +\psfrag replacement. + +\subsubsection{Other header option: \texttt{-H}} + +To generate the \pdf file with the \psfrag replacements, the script +use the header of your \LaTeX\ file. But, it may be insufficient: by +example, your \psfrag replacement can use some command defined neither +in your header, neither in the \texttt{figure} environment. Then, you +can write another header that will be used to generate the \pdf +figures. + +\subsubsection{Handling subfiles: \texttt{-M}} +\label{sec:opt-subfiles} + +If your master file made some input of some other \LaTeX\ code, with +\command{input}, \verb+\include+ or any other command\footnote{Like the + \command{Input} of the \texttt{srcltx} package.}, it is not +parsed by the \pdfrack script. + +You have to explicitly call the \pdfrack script on each sub file, with +the option \texttt{-M} that specify the name of the master file, or +the option \texttt{-H} to specify another header file. + +\section{How does it works?} + +The core of \pdfrack is a \texttt{pdfrack.sh} script that try, for +each figure in your \LaTeX\ source, to produce a small \LaTeX\ file +with only the figure. Then, this file is compiled with \LaTeX, +converted into \postscript, and then, we have a \postscript figure, +with the replacements. + +Now, the system should convert a \postscript file to a \pdf one, with +the right bounding box... I am not at all a guru of \postscript +(neither \pdf), so, I try to use some tools like \texttt{ps2ps}, +\texttt{ps2eps}, \texttt{ps2pdf} and so on. There is an option in the +script \texttt{-m} that allow the user to chose one or the other. + +\begin{figure}[htbp] + \centering + \pdfrackincludegraphics[width=\textwidth]{Details} + \caption{Inside \pdfrack} +\end{figure} + +\section{Temporary files} +\label{sec:tmp-files} + +This script creates a lot of temporary files in the current directory. +It could then overwrite an existing file. In fact, after several years +of use, no user never complain about it, but, in case, here is a list +a created files. + +If your input is called \texttt{paper.tex}, the script will create (and remove + if \texttt{-k} is not set) the files: + \texttt{paper.tex.header} + \texttt{paper.tex.figlines} + \texttt{paper.tex.figure} +And for each figure \texttt{fig.eps} used (with +"\texttt{pdfrackincludegraphics[..]{fig}}"), it +will creates (and remove, if \texttt{-k} is not set) + \texttt{fig.tex}, \texttt{fig.log}, \texttt{fig.aux}, + \texttt{fig.dvi}. + + +\section{Knowns bugs and limitations} + +\begin{enumerate} +\item \textbf{Only a subpart of my figure appears}\label{enum:subpart} + The main problem is the computation of the ``Bounding box'' of the + postscript figure. If the default method fails, try the \texttt{-m} + option, with different values. Adding the \texttt{-e} may also + help. See paragraph~\ref{sec:opt-filter}. +\item \textbf{The figure is alone on a full page. Its seems to big.} \\ + See item~\ref{enum:subpart} +\item \textbf{I am a Windows user}\\ + Neither am I\footnote{This is not always true: when I am forced to + write Word document, I use a Windows machine thought an + \texttt{rdesktop} connection.}... This solution is + based on some well known Unix command-line tools, like the bourne + shell, \texttt{ps2eps, cut, tail, grep}... To use my script on + windows, you should install a solution like Cygwin. +\item \texttt{I uses two times the same file, with different + replacements, but only one replacement is made.} \\ + Yes... For each \postscript file, a \pdf file is generated, with the + same name. Then, if the same file is used two times, with two + different \psfrag replacements, the same name is used twice, and + only one \pdf file rests. The simpler solution is to copy the + \postscript file, or to use some link capacity (like \texttt{ln}). +\item \texttt{The figures in included files (with \command{include}, + \command{input} are not taken into account}\\ + See paragraph~\ref{sec:opt-subfiles}. +\item \textbf{My problem is not in the known bugs list !} \\ + Just email me. +\end{enumerate} + +\section{Why this name ?} + +I think a good solution for using \texttt{pdflatex} and +\texttt{psfrag} should be named \texttt{pdfrag} or \texttt{pdffrag}. I +do not think that my solution is really good. It is just a hack. Then +\texttt{pdfrack} comes from: +\begin{verbatim} + pdf + + psfrag + + hack + --------- + pdfrack +\end{verbatim} + + +\section{Other solutions} + +There are, of course, other solutions:a +\begin{description} +\item[dvips + ps2pdf + hyperref:] Did you really need + \texttt{pdflatex}? Sometimes, you only want to what the "cool" + hyperlinks in your \pdf. In this case, just use + \verb+\usepackage{hyperref}+ in your code and use \texttt{dvips} and + \texttt{ps2pdf}. +\item[pst-pdf, pd4pdf] See also these two packages (\texttt{ps4pdf} is + deprecated and replaced by \texttt{pst-pdf}). which also seem to try + to generate Pdf figure from Postscript code. You can get it from CTAN. +\item[pstool] Another package, presented as ``a replacement for + \texttt{pst-pdf} in the r\^ole of supporting the \psfrag package + (which it loads) in \pdflatex''. +\item[pdffrag] There also is a perl-based script, \texttt{pdffrag}, + developed by Fran\c{c}ois Rouge, + \url{http://elessar.lautre.net/spip.php?article5} +\item[DrawAt] Matthijs Douze (another member from ENSEEIHT) has + developped DrawAt, a solution for MacOS X only. + \url{http://www.enseeiht.fr/~douze/drawat/index.html} +\item[unpsfrag] Félix Valado Pomarinho has developped a perl script: + \texttt{unpsfrag} +\item[fragmaster] Tilman Vogel developped \texttt{fragmaster}, another + perl-oriented solution. + \url{http://www.tat.physik.uni-tuebingen.de/~vogel/fragmaster} +\item[{pstoedit and [X]fig}] With \texttt{[X]fig}, you can already make a + figure and, setting the special flag to a text zone, you already can + put on your figures some LaTeX code, and export in the combined mode + either in postcript or pdf. + + In the combined Postscript/LaTeX, if your file is named + \texttt{figure.fig}, it creates a \texttt{figure.pstex} file which + is the postcript version of your fig figure \emph{without the + special-tagged texts}, and a \texttt{figure.pstex\_t} file which + juste include the \texttt{figure.pstex} (with the + \verb+\includegraphics+ command) \emph{and} adds the LaTeX text at + the right place. + + In the combined Pdf/LaTeX, this is the same except that + \texttt{figure.pstex} is named \texttt{figure.pdf} and + \texttt{figure.pstex\_t} is named \texttt{figure.pdf\_t} and includes + \texttt{figure.pdf}. + + If you like to avoid the graphic + interface, this ca be done in command line with \texttt{fig2dev}. +\begin{verbatim} +fig2dev -L pstex_t figure.fig figure.pstex_t +fig2dev -L pstex figure.fig figure.pstex +\end{verbatim} + + If you do not have a fig figure, you can transform a postcript file + into a fig one with \texttt{pstoedit} with command line like: +\begin{verbatim} + pstoedit -dis -f fig example.eps > example.fig +\end{verbatim} +\item[figfrag] With \texttt{figfrag} + (\url{http://www.ctan.org/tex-archive/graphics/figfrag/} + you can use the psfrag feature in your fig picture and create a + standalone eps figure with the psfrag replacements. +\end{description} + + +\end{document} |